0

这是我的 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

5 回答 5

0

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

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

肯定有许多具有相同 id 的按钮,这不能发生在有效的 html 中

于 2018-05-10T08:44:45.767 回答
0

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

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.id("submitID"))).click();  

cssSelector

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

或 XPATH :

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(); 
于 2018-05-10T07:15:01.457 回答
0

您可以使用 javascript 执行程序。请参考以下代码

JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("document.getElementById('submitID').click();"); 
于 2018-05-10T06:14:17.263 回答
0

如果有多个相同的元素,请尝试此操作id

WebElement verifyButton = driver.findElement(By.xpath(".//button[@id='submitID']"));
于 2018-05-09T22:35:27.217 回答
0

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

  • 使用身份证

    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 );
    
于 2018-05-10T06:35:16.677 回答