[英]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
。 您描述的checkbox
的id
為Terms1
, name 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.