Python 找不到元素-selenium

Python 找不到元素-selenium,python,selenium,Python,Selenium,我正在尝试制作一个程序,它可以自己制作质子电子邮件。一切都很顺利,直到我必须创建输入用户名和密码的代码。问题是:它输入密码,但idk为什么不对用户名做同样的事情。我试着把我能找到的每一个id都放进去,但仍然不起作用(我也试着用类或名称做些事情,但失败了) 这是我的密码: from selenium import webdriver import time url = "https://protonmail.com/" driver = webdriver.Chrome(r'

我正在尝试制作一个程序,它可以自己制作质子电子邮件。一切都很顺利,直到我必须创建输入用户名和密码的代码。问题是:它输入密码,但idk为什么不对用户名做同样的事情。我试着把我能找到的每一个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行,在

驱动程序。通过id(“域”)查找元素。发送密钥(“juzername”)

文件“C:\Users\Puhar\AppData\Roaming\Python\Python39\site- packages\selenium\webdriver\remote\webdriver.py”,第360行,按id查找元素

返回self.find_元素(by=by.ID,value=ID_u)

进程已完成,退出代码为1


我想你用错身份证了。您选择的是@protonmail.com下拉列表,而不是输入标记

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

我想你用错身份证了。您选择的是@protonmail.com下拉列表,而不是输入标记

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

从日志
驱动程序。通过id(“域”)查找元素。发送密钥(“juzername”)
,我们可以大致知道错误发生的位置

请参阅下面的源代码页截图,我们可以得到正确的代码

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


顺便说一句,
/*[@href=“signup”]
“面板标题”
都不是找到所需元素的好主意,因为它们中的每一个都会找到许多元素。我认为学习更多xpath或cssSelector将对您有所帮助。

从日志
驱动程序中。通过id(“域”)查找元素。发送密钥(“juzername”)
,我们可以大致知道错误发生的位置

请参阅下面的源代码页截图,我们可以得到正确的代码

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


顺便说一句,
/*[@href=“signup”]
“面板标题”
都不是找到所需元素的好主意,因为它们中的每一个都会找到许多元素。我认为学习更多xpath或cssSelector将对您有所帮助。

如果您使用睡眠,则应该使用显式等待。这可能就是找不到元素的原因,它还没有加载到DOM中。如果使用sleeps,则应该使用显式等待。这可能是找不到元素的原因,因为它还没有加载到DOM中。