为什么我使用硒python的send_keys出错

问题描述 投票:0回答:1

我正在尝试创建一个脚本,该脚本可以自动将我登录到我的帐户,并且卡在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)

我知道脚本不完整。

python selenium selenium-webdriver sendkeys autologin
1个回答
0
投票

通常,不同的站点采用不同的设计方法,这不允许正常的脚本流,并且需要添加其他步骤。

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

下面的元素属性差异,

Before click action

After click action

© www.soinside.com 2019 - 2024. All rights reserved.