相关疑难解决方法(0)

python的selenium"send_keys"与chrome驱动程序删除字符

我在Windows 7中使用带有Python(https://pypi.python.org/pypi/selenium)的selenium包.当我尝试登录我的facebook帐户时,我使用send_keys命令,例如

elem = browser.find_element_by_name("email")
elem.send_keys(email);
elem = browser.find_element_by_name("pass")
elem.send_keys(password);
Run Code Online (Sandbox Code Playgroud)

登录失败显然是因为第二个send_keys删除了密码的第一个字符(我通过直接将密码字符发送到电子邮件字段找到了这个.

这是怎么回事?为什么selenium不能像将密钥发送到输入字段那样简单?这是一种由Facebook编码的拒绝自动脚本的保护措施吗?

试图发送整个字母表得到这个:

abcdefghijklmnopqrstuvwxyzBCDFGIKLNOQSTWX
Run Code Online (Sandbox Code Playgroud)

注意缺少多少个字符......

更新

显然这个问题与facebook无关,而与Chrome驱动程序无关.

如果我发送以下简单代码

browser = webdriver.Chrome()
browser.get("https://www.google.com") # Load page
elem = browser.find_element_by_name("q") # Find the query box
query= "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
elem.send_keys(query)
Run Code Online (Sandbox Code Playgroud)

使用chrome驱动程序,我得到BCDFGIKLNOQSTWX注意A,E,H ... Y,Z是如何丢失使用firefox驱动程序(替换browser = webdriver.Chrome()browser = webdriver.Firefox()我得到:ABCDEFGHIJKLMNOPQRSTUVWXYZ

python selenium google-chrome key send

6
推荐指数
1
解决办法
4050
查看次数

标签 统计

google-chrome ×1

key ×1

python ×1

selenium ×1

send ×1