如何通过它瞄准javascript元素's的onclick属性
How to target javascript element by it's onclick attribute via Selenium?
我正在使用一个网页,该网页上有许多javascript按钮,它们是这样写的:
<a href="javascript:;" onclick="addtocart('888%20B0007VBRUE%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20',$(this),0)" class="btn btn-lblue pull-right">
Selenium可以执行javascript,但我不太确定如何格式化javascript查询以触发各个购买按钮。我试过了:
driver.execute_script("document.getElementById("test").onclick = "addtocart('888%20B0007VBRUE%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20',$(this),0)").click()
但是这给了我错误CCD_ 1。我如何才能改变我试图让它发挥作用的方式?
这是因为您尚未将test
的id添加到<a>
标记中。此外,通常不建议基于元素的onclick处理程序的值来查找元素。
固定代码:
<a href="javascript:;" id="test" onclick="addtocart('888%20B0007VBRUE%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20',$(this),0)" class="btn btn-lblue pull-right">
此外,您需要在driver.execute脚本中将一个"
切换为'
,因为每个"
都会终止前面的字符串。
示例:
driver.execute_script('document.getElementById("test"),$(this),0)').click()
相关文章:
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何通过它瞄准javascript元素's的onclick属性
- 作为onclick确认的一部分,Razor中的字符串属性
- SCRIPT5007:属性onclick=;JavaScript:functionName('name'
- 如何在循环中设置onclick属性
- 未捕获的类型错误:无法设置属性'onclick'为null.已尝试window.onload
- 具有多个功能的Onclick属性
- 使用 javascript 禁用 onclick 属性
- jQuery设置属性onclick所有元素,而不是使用内联JS
- 如何解析包含返回函数的属性onclick.javascript
- 如何通过属性“onclick”将jQuery函数.one()应用于元素
- 未捕获的类型错误:不能设置属性'onclick'零
- 类型错误:不能设置属性'onclick'零
- 未捕获的类型错误:不能设置属性'onclick'null的onclick不起作用
- 用Javascript设置选中的属性onClick
- 替换href属性onclick
- 获取包含属性onclick的image,然后隐藏img
- JavaScript 错误 msg : 未捕获的类型错误: 无法设置 null 的属性 'onclick'
- 未捕获类型错误:不能设置属性'onClick'的定义
- 未捕获的类型错误:不能设置属性'onclick'如果为null,则输入type="img&qu