首页 > 解决方案 > 无法定位元素 - 硒

问题描述

我正在尝试制作一个可以自行制作质子电子邮件的程序。一切都很顺利,直到我不得不创建输入用户名和密码的代码。问题是:它输入了密码,但我知道为什么它不对用户名做同样的事情。我试着把我能找到的每一个 id 都放进去,但它仍然没有用。(我也试图用类或名称做一些事情,但我失败了)。

这是我的代码:

from selenium import webdriver
import time

url = "https://protonmail.com/"
driver = webdriver.Chrome(r'C:\Users\Puhar\Desktop\chromedriver')
driver.get(url)
driver.find_element_by_xpath('//*[@href="signup"]').click()
time.sleep(2)
driver.find_element_by_class_name("panel-heading").click()
time.sleep(2)
driver.find_element_by_id("freePlan").click()
time.sleep(6)
driver.find_element_by_id("domain").send_keys("juzername")
time.sleep(1.5)
driver.find_element_by_id("passwordc").send_keys("usernameForUser")
time.sleep(3.5)
driver.find_element_by_id("password").send_keys('usernameForUser')
time.sleep(1.5)

这是错误:

回溯(最近一次通话最后):

文件“C:\Users\Puhar\Desktop\mejlhekler\mejlhekler1.py”,第 20 行,在

driver.find_element_by_id("domain").send_keys("juzername")

文件“C:\Users\Puhar\AppData\Roaming\Python\Python39\site-packages\selenium\webdriver\remote\webdriver.py”,第 360 行,在 find_element_by_id 中

return self.find_element(by=By.ID, value=id_)

进程以退出代码 1 结束

标签: pythonselenium

解决方案


我认为您使用了错误的 id 标签。您选择的是@protonmail.com 下拉列表而不是输入标签。

driver.find_element_by_id("username").send_keys("juzername")

推荐阅读