【发布时间】:2022-01-27 13:45:02
【问题描述】:
我对编码和 python 比较陌生。我正在尝试自动登录到linkedin 以向我的连接发送消息。我在这个过程中使用 selenium webdriver。我还无法使用自动化流程登录,因为我得到了 错误:dict 对象没有属性 send_keys。
我知道在这段代码中“用户名”是一个字典类型,因为我检查过并且错误告诉我它没有属性“send_keys”,我得到错误消息的意思,该属性不存在,但我不知道如何解决。我还想问一下我创建的名为“用户名”的变量我可以称之为任何东西吗?我知道称它为用户名可能是最好的,但我问这个是为了我的理解。
以下代码是我到目前为止所做的,我知道它不完整,但我喜欢一次一行地工作和解决问题。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
import time
s = Service("/usr/local/bin/chromedriver")
driver = webdriver.Chrome(service=s)
driver.get("https://linkedin.com/login")
time.sleep(2)
username = driver.find_element(By.ID,"username")
username.send_keys("my email address goes here")
我还附上了一张图片,以便可以看到我正在使用 LinkedIn 页面的哪个部分和标签来尝试登录。
Linkedin inspect element code on signing page
我希望我没有遗漏任何内容,我试图尽可能地具有描述性。 提前致谢!
【问题讨论】:
-
而不是
driver.find_element使用字段的名称,即会话键,如您的图片中所示,driver.find_element_by_name('session_key') -
我按照你的说法更改了行,但我仍然收到以下错误消息:AttributeError:'dict' object has no attribute 'send_key'。所以这是 username.send_keys 行,当我输入我的电子邮件地址时。
标签: python selenium selenium-webdriver