为什么我在 send_keys 使用 selenium python 时出错

Why I am having an error on send_keys using selenium python

我正在尝试制作一个自动登录我的帐户的脚本,但我卡在了 send_keys

我有最新版本的 selenium,我正在使用 python 2.7.18

这是我的脚本:

from selenium import webdriver
from time import sleep

username = 'username'

driver = webdriver.Chrome() 
driver.get('https://www.instagram.com/')

sleep(4)

email = '//*[@id="react-root"]/section/main/article/div[2]/div[1]/div/form/div[2]/div/label/input'
login = driver.find_element_by_xpath(email).send_keys(username)

错误是:

Traceback (most recent call last):   
File "C:\Users\Jameel\Desktop\selenium1.py", line 14, in <module>
    login = driver.find_element_by_xpath(email).send_keys(username)   
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py",
line 479, in send_keys
    'value': keys_to_typing(value)})   
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py",
line 633, in _execute
    return self._parent.execute(command, params)   
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py",
line 321, in execute
    self.error_handler.check_response(response)   
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py",
line 242, in check_response
    raise exception_class(message, screen, stacktrace) WebDriverException: Message: unknown error: call function result
missing 'value'   (Session info: chrome=83.0.4103.61)   (Driver info:
chromedriver=2.31.488763
(092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT
10.0.17763 x86_64)

我知道脚本不完整。

通常不同的站点遵循不同的设计方法,这不允许正常的脚本流程并且需要添加额外的步骤。

在您的情况下,默认的 CSS 样式会阻止您的输入。因此,首先单击该元素(使其成为焦点),然后发送您的密钥。

元素属性差异如下,

Before click action

After click action