Selenium html按钮没有点击

时间:2018-05-09 21:43:30

标签: selenium

这是我的HTML代码

 <button type="button" class="button primary" id="submitID" aria-label="Verify and proceed to next step.">
        Verify
 </button>

这是我的硒代码:

 WebElement verifyButton = driver.findElement(By.id("submitID"));
 verifyButton.click();

按钮开始对焦但不点击。

4 个答案:

答案 0 :(得分:0)

如果有多个元素具有相同的id

,请尝试此操作
WebElement verifyButton = driver.findElement(By.xpath(".//button[@id='submitID']"));

答案 1 :(得分:0)

你可以在这里使用任何这个东西

  • 使用ID

    WebElement verifyBtn = driver.findElement(By.id("submitID"));
    verifyBtn.click();
    
  • 使用班级名称

    WebElement verifyBtn = driver.findElement(By.className("button primary"));
    verifyBtn.click()
    
  • 使用xpath

    WebElement verifyBtn = driver.findElement(By.xpath("//button[@aria-label='Verify and proceed to next step.' and @id='submitID']"));
    verifyBtn.click()
    
  • 使用javascriptExecutor

    WebElement verifyBtn = driver.findElement(By.id("submitID"));
    JavascriptExecutor js=(JavascriptExecutor)driver;
    js.executeScript("arguments[0].click();", verifyBtn );
    

答案 2 :(得分:0)

如果 ID 是唯一的,您可能需要等待一段时间,然后点击它。

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button[type='button'][id='submitID']"))).click(); 

cssSelector

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[text()='Verify']"))).click();  

或XPATH:

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[contains(@aria-label,'Verify and proceed to next step.')]"))).click(); 

或XPATH:

true

答案 3 :(得分:0)

这是什么输出?注意 - findElement S

driver.findElements(By.id("submitID")).size()

肯定有很多具有相同ID的按钮,这些按钮不能在有效的html

中发生