繁体   English   中英

单击 html 元素到 javascript 到 selenium 驱动程序不会触发

[英]Click to an html element with javascript through selenium driver doesn't fires

我想通过带有 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 点击,这对我来说是最成功的。 检查元素,右键单击复制,然后复制 xpath 按钮。

一些示例代码如下所示:

website = 'url here'
driver = webdriver.Chrome()
driver.get(website)

variable = driver.find_element_by_xpath('xpath here')
driver.find_element_by_xpath('xpath here').click()

旁注:确保没有弹出窗口或其他可能中断自动按钮按下的按钮。 我过去曾经历过我的程序会停止,因为由于 webdriver 屏幕中的另一个元素或阻止我想按下的按钮而无法找到该按钮。

这可能会有所帮助,因为它直接处理 javascript。

有没有办法在 Selenium WebDriver 中使用 JavaScript 通过 XPath 获取元素?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM