按钮单击在selenium webdriver中不起作用

时间:2017-07-18 22:01:37

标签: selenium selenium-webdriver

我使用 serenity jbehave 运行脚本。我需要点击继续按钮。在这里,我通过动态xpath 来识别它。但它没有回复

这是网络元素



<input type= "button" class="bin-large" onclick="continueperson(document.getElementById('controlTodisplay').value);" value="continue">==$0
&#13;
&#13;
&#13;

我已将其识别为

Xpath=//input[@value='continue']

执行点击操作。

任何人都可以帮助我!

3 个答案:

答案 0 :(得分:1)

事实上,大多数时候无法点击按钮的问题与您拼错了代码无关,如果页面没有完全加载,如果继续出错,请尝试执行“A”模式做“B”

模式: driver.findElement(By.xpath("//input[@value='continue']"));

B模式: WebDriverWait wait =new WebDriverWait (driver,10); wait.until(expectedconditions.elementtobeclickable(By.xpath("//input[@value='continue']")); driver.findElement(By.xpath("//input[@value='continue']"))

答案 1 :(得分:1)

尝试以下任何一种代码来点击按钮。

在点击按钮之前,请提供几秒wait,以便您的司机可以找到该元素。

等待,我使用explicit wait方法。

WebDriverWait wait = new WebDriverWait(driver, 5);   // wait for 5 seconds
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//input[@value='continue'][@type='button']"))));
driver.findElement(By.xpath("//input[@value='continue'][@type='button']")).click();
  

OR

尝试使用java-script executor方法点击按钮。

WebElement button = driver.findElement(By.xpath("//input[@value='continue'][@type='button']"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", button);

答案 2 :(得分:0)

在执行“ element.click”之前,尝试滚动浏览器,使该按钮“可见”