无法单击继续按钮 - Selenium Webdriver

时间:2013-12-17 06:59:51

标签: selenium-webdriver

无法使用Selenium单击链接 - Webdriver:Chrome:Win7

以下是我检查按钮时的代码:

  

a id =“continue_button”disabled =“false”class =“button button-large ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only”href =“#” role =“button”aria-disabled =“false”>

     

span class =“ui-button-text”>   span class =“button-content”>继续

我尝试了以下方法,但没有任何作用:

driver.findElement(By.xpath("//*[@id='continue_button']")).click();
driver.findElement(By.xpath("//a[contains(..,'Continue')]")).click();
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.querySelector(\"a[id$='continue_button']\").click()");

5 个答案:

答案 0 :(得分:1)

也许链接部分隐藏在DOM中。您可以尝试使用下面的代码段点击隐藏(或部分隐藏)元素。

WebElement element = driver.findElement(By.xpath("//a[@id='continue_button']));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", element);

答案 1 :(得分:0)

options=driver.find_elements_by_class_name("button-content")
for i in options:
    if(i.text=="Continue"):
        i.click()

上面的代码是在python中。通过转换为java来尝试上面的代码,我希望它能完美运行......任何疑问都让我知道。

答案 2 :(得分:0)

你可以试试这个,

new WebDriverWait(driver,60).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#continue_button span.button-content"))).click();

上面的代码将等待60秒的元素visibilty,如果找到,将点击元素,否则将抛出异常。

答案 3 :(得分:0)

if(driver.getTitle().contains("Error"))
    driver.navigate().to("javascript:document.getElementById('overridelink').click()");

答案 4 :(得分:-1)

嘿,检查按钮是否位于框架内。