无法找到使用Selenium和Python登录Google的密码字段

2024-06-16 10:10:04 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在编写一个简单的机器人程序,它只打开一些应用程序,给我一天的工作。当我尝试登录到Google并设法找到用户名字段并填充它时,单击按钮转到下一页,但当我尝试输入密码时,我只会收到一个错误,说密码类或xpath(两者都尝试过)不存在。 我也尝试过等待页面加载,但仍然没有结果

这是密码。我可能忽略了一件简单的事情:

emailLogin = browser.find_element_by_xpath('//*[@id ="identifierId"]')
emailLogin.send_keys(schoolUser)
browser.find_element_by_class_name("VfPpkd-RLmnJb").click()
passwordLogin = browser.find_element_by_class_name("whsOnd zHQkBf") passwordLogin.send_keys(schoolPassword)

Tags: name程序browsersend应用程序密码by机器人
1条回答
网友
1楼 · 发布于 2024-06-16 10:10:04

find_element_by_class_name()只接受单个类名不接受multiple classes. 您可以使用css selectorxpath来使用其他属性值来标识元素

要避免同步问题,请使用WebDriverWait()并等待element_to_be_clickable()

XPath

 passwordLogin=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//input[@name='password']")))
 passwordLogin.send_keys(schoolPassword)

名称

passwordLogin=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.NAME,"password")))

CSS选择器:

passwordLogin=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,".whsOnd.zHQkBf[name='password']")))

您需要导入以下库

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

相关问题 更多 >