python - 无法定位元素 - 硒
问题描述
我正在尝试制作一个可以自行制作质子电子邮件的程序。一切都很顺利,直到我不得不创建输入用户名和密码的代码。问题是:它输入了密码,但我知道为什么它不对用户名做同样的事情。我试着把我能找到的每一个 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 结束
解决方案
我认为您使用了错误的 id 标签。您选择的是@protonmail.com 下拉列表而不是输入标签。
driver.find_element_by_id("username").send_keys("juzername")
推荐阅读
- retrofit - IllegalArgumentException 端口超出范围:改装拦截器中的 -1
- r - 如何在 R Shiny 中组织绘图
- r - 将变量强制转换为类似于 stepAIC 的 bestglm
- r - 调整 Power BI 自定义 R 视觉对象时遇到问题
- flutter - 禁用所有水平滚动图表
- nlp - PyTorch 如何并行编码多头自注意力?
- spring - 未能在项目 spring-petclinic 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test):有测试失败
- android - android中的layout和viewGroup有什么区别
- powershell - 无法在 Windows 10 上将 OCaml 添加到系统路径
- c# - 我遇到了 ef-code first sql 的问题