Selenium驱动程序有时不会单击元素

时间:2015-11-02 08:00:43

标签: python selenium selenium-webdriver phantomjs

目前我正在编写一个可以无限循环工作的网络刮刀。它获取一个页面,搜索一些按钮并单击其中一个按钮。但有时它不会!我保存了一个屏幕截图,以防一些失败,它显示我点击按钮后页面没有改变。

driver.find_element_by_xpath('//input[@name = "btn"]').click()
time.sleep(3)

我绕过这个循环检查我们是否仍然看到该元素。

while driver.find_elements_by_xpath('//input[@name = "Submit"]') != []:
    driver.find_element_by_xpath('//input[@name = "Submit"]').click()

但希望找到这个的根本原因。它可能是什么?

1 个答案:

答案 0 :(得分:1)

我的申请也遇到了类似的问题。单击元素到动作类对我有用。 以下是Java中的示例代码:

WebElement webElement = driver.findElement(By.id("Your ID Here"));
Actions builder = new Actions(driver);
builder.moveToElement(webElement).click(webElement);
builder.perform();

如果点击动作类不起作用,您也可以尝试通过Javascript点击元素。

WebElement webElement = driver.findElement(By.id("Your ID here"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", webElement);
相关问题