【发布时间】:2020-10-26 18:49:08
【问题描述】:
我正在尝试制作一个可以自己制作质子电子邮件的程序。一切都很顺利,直到我不得不创建输入用户名和密码的代码。问题是:它输入了密码,但我知道为什么它不对用户名做同样的事情。我试着把我能找到的每一个 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)
这是错误:
Traceback(最近一次调用最后一次):
文件“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 结束
【问题讨论】:
-
您正在使用睡眠,您应该使用显式等待。这可能是没有找到元素的原因,它还没有加载到 DOM 中。