我想通过带有Python的selenium驱动程序单击带有javascript的元素,这是我的代码示例:
driver.execute_script("els=document.getElementsByClassName('buttons');\
for (var i = 0; i < els.length; i++) {\
open=els[i].parentNode.getElementsByClassName('button_open');\
if(open.length==1){\
alert('ok');\
}else(\
alert('not ok')\
els[i].click();\
)\
}")
以及html代码:
<div class="buttonsParent">
<div class="buttons button_open">
<span>Content</span>
</div>
</div>
<div class="buttonsParent">
<div class="buttons">
<span>Content</span>
</div>
</div>
Webdriver和Selenium有时会有点挑剔。尝试使用xpath,这对我来说是最成功的。检查元素,右键单击copy,然后单击copy xpath按钮
一些示例代码如下所示:
旁注:确保没有弹出窗口或其他可能中断自动按钮按下的按钮。我曾经经历过我的程序会停止,因为按钮找不到,因为另一个元素在webdriver屏幕中,或者阻止了我想按的按钮
这可能会有帮助,因为它直接处理javascript
Is there a way to get element by XPath using JavaScript in Selenium WebDriver?
相关问题 更多 >
编程相关推荐