python - 在 Python 中使用带有 Selenium 的 webdriver 时找不到元素
问题描述
我的代码有问题,我需要你的帮助。我想要做的是以下几点:
1-访问网站;
2- 填写注册表:name
、email
、password
等。
第 1 步有效;单击注册按钮后,表单将在新选项卡中弹出。
第2步; 尝试查找元素时, byid
或name
,我收到错误"selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element"
我的代码如下:
driver.find_element_by_link_text('Sign Up').click()
time.sleep(3)
driver.find_element_by_id("signup_title").send_keys(signup_tile)
driver.find_element_by_id("signup_name").send_keys(signup_name)
附上你可以找到html。提前感谢您,非常感谢您的帮助。 笔记
在控制台中,我试图找到搜索id
using
的元素$x("//*[@id='signup_title']") and it was found: [input#signup_title.sc-AxirZ.kzqQJb.invalid]
。元素也被加载。
解决方案
问题与第二个选项卡有关;因为表单在另一个选项卡中打开,所以必须在代码中切换窗口。我使用了以下内容: driver.switch_to.window(driver.window_handles['Nr']), Nr 是选项卡的索引 - 如果有 2 个,主要的,第二个 - 在我的表格中,索引将 pe 1-counting 从零开始。
推荐阅读
- css - Tailwind:配置配置文件后如何访问默认内容?
- java - 检测在自定义键盘(IME)Android之外按下的EditText
- c - 在C中,如何使用链表打印结构中的所有值,而这个结构是嵌套的?
- python - 当运行 yad2k 生成模型 h5 文件时,“tensorflow”在 tensorflow 2.3 中没有属性“space_to_depth”错误
- javascript - DataTables 的日期范围选择器问题
- flutter - 我无法为 Firestore 中的地图字段应用规则
- android - LineChart 中的 MPAndroidChart 目标正方形
- python-3.x - 有没有办法判断一列是否是外键?
- mysql - 在多租户应用程序中为数据库创建多个 docker 容器是否正确?
- r - 如何保存从 R studio 导入的数据以便我可以编织?