簡體   English   中英

無法選擇復選框,Selenium WebDriver

[英]Can't Select Checkbox, Selenium WebDriver

我無法使用Java中的Selenium WebDriver選中一個復選框。 我用Xpath嘗試過,但是沒有結果。 WebDriver無法單擊元素。 我嘗試使用Selenium IDE-記錄器,沒有結果。

這是-復選框的html代碼

在此處輸入圖片說明

我嘗試:

1。

driver.findElement(By.xpath(".//form[@id='placeOrderForm1']/div[@class='terms right']/label")).click();

2。

driver.findElement(By.id("Terms1")).click();

3。

driver.findElement(By.cssSelector("label")).click();

4。

driver.findElement(By.xpath("//div[3]/form/div/input")).click();

什么都沒有。 請幫忙。

嘗試使用JavascriptExecuter希望這會有所幫助

WebElement element = driver.findElement(By.id("Terms1"));
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].click();", element );

這是您的問題的答案:

正如您提到的unable to select a checkbox ,實際上我們沒有選擇該復選框,而是checkmark了該checkbox 您描述的checkboxidTerms1name as termsCheck`。 因此,您可以使用兩個定位器之一來選中該復選框,如下所示:

driver.findElement(By.id("Terms1")).click();

要么

element = driver.findElement(By.name("termsCheck")).click();

讓我知道這是否回答了您的問題。

您的代碼似乎正確。 特別是這個-

driver.findElement(By.id(“ Terms1”))。click();

您單擊的元素可能在頁面滾動中不可見。 嘗試先移至該元素,然后單擊。

試試這個-

WebElement elem = driver.findElement(By.id("Term1"));
Actions action = new Actions(driver).
action.moveToElement(elem).click().build().perform();

希望能有所幫助。

您可以通過唯一標識符找到元素。 在這種情況下,我們可以使用名稱或ID。 更好的選擇是使用id。

WebElement element = driver.findElement(By.name("termsCheck"));
element.click();

或者你也可以使用這個

driver.findElement(By.id("Terms1")).click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM