gpt4 book ai didi

Python selenium send_keys 不工作无法设置登录字段

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:50 27 4
gpt4 key购买 nike

我正在使用selenium来抓取twitter(不使用api只是练习selenium),当它进入以下页面时需要登录,我使用以下代码来找到登录输入字段,然后发送用户名和密码字符串:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(executable_path="Chrome")
driver.get("https://twitter.com/login")
username = driver.find_element_by_xpath("//*[@id='page-container']/div/div[1]/form/fieldset/div[1]/input")
username.send_keys("username")
password = driver.find_element_by_xpath("//*[@id='page-container']/div/div[1]/form/fieldset/div[2]/input")
password.send_keys("password")
password.send_keys(Keys.ENTER)

driver.get("http://twitter.com/user/following")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

代码正在工作,除了第二个字段(密码字段)之外,它没有发送密码字符串并跳到下一行(Keys.ENTER),然后它移动到需要登录的下一页,但是光标位于密码字段,这意味着它已经找到了它,奇怪的是执行脚本时没有错误消息或错误代码。

有什么想法导致此问题的原因是什么吗?

正在使用 python 2.7.6 Selenium 版本 2.53.6在 ubuntu 14.04 上

提前致谢

最佳答案

无需发送 ENTER 键,只需单击“登录”按钮即可。另外,你的 XPath 有点脆弱。我会使用更具体的选择器,或者您也可以使用下面的 CSS 选择器。

driver.find_element_by_css_selector("#page-container input.email-input").send_keys(username);
driver.find_element_by_css_selector("#page-container input.js-password-field").send_keys(password);
driver.find_element_by_css_selector("button.submit").click();

关于Python selenium send_keys 不工作无法设置登录字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38173985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com