javascript - 无法使用 Python Selenium 单击动态链接
问题描述
我正在尝试使用 Selenium 在 JavaScript 表中选择动态链接。这是我尝试单击的链接之一的示例 HTML 代码:
<a href="#" onclick="javascript: runCategoryReport(0,"objectName=enrollee&titleMessageKey=3-3-2&time=month&systemTypeMetaId=6&categoryName=Attendee");">1925</a>
我已经分别尝试了以下代码行来单击此特定链接:
选项1
driver.find_element_by_xpath("//a/*[contains(text(), '3-3-2')]").click()
选项 2
driver.find_element_by_xpath("//a[contains(@onclick, '3-3-2')]").click()
这两行代码都会导致错误:
NoSuchElementException: Message: no such element: Unable to locate element {"method":"xpath","selector":"//a/*[contains(text(), '3-3-2')]"} (Session info: chrome=90.0.4430.212)
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[contains(@onclick, '3-3-2')]"}
(Session info: chrome=90.0.4430.212)
我将不胜感激有关此问题的任何反馈。
解决方案
尝试使用属性 CSS 选择器: a[onclick*='3-3-2']
,它将找到具有包含a
的属性的标记。onclick
'3-3-2'
driver.find_element_by_css_selector("a[onclick*='3-3-2']").click()
推荐阅读
- pandas - 如何在 Pandas 中提取列字典并将其替换为单列
- ios - 根据屏幕尺寸Swift设置不同的TabBar高度
- arrays - CS50,替换,check50 在重复测试中失败并超时
- vb.net - 将值从组合框传递到文本框 VB.NET
- javascript - 如何使用 NPM 将 Vue JS 与 Wordpress 一起使用?
- mysql - SQL中两个表的输出
- vhdl - 在测试台仿真中未在正确时间显示寄存器值
- python-3.x - Django在依赖项中缺少静态文件清单条目
- java - 如何使用序列化从 txt.datei 加载多个对象实例
- java - 我希望我的 Eclipse Java 套接字客户端接收可变数量或数据包