2017-06-12 75 views
0

我想選擇的複選框,並檢查自己是否檢查HTML看起來像這樣Java的硒越來越元素表單的被選中的JavaScript

h3>Checkboxes</h3> 
<form id="checkboxes"> 
<input type="checkbox"> 
checkbox 1 
<br> 
<input checked="" type="checkbox"> 
checkbox 2 
</form> 
</div> 


h3>Checkboxes</h3> 
<form id="checkboxes"> 
<input type="checkbox"> 
checkbox 1 
<br> 
<input checked="" type="checkbox"> 
checkbox 2 
</form> 
</div> 

<script> 

var form = document.getElementById('checkboxes'); 
var checkboxes = form.getElementsByTagName('input'); 
for (var i=0, len=checkboxes.length; i<len; i++) { 
    checkboxes[i].onclick = function() { 
     this.checked ? this.setAttribute("checked", "") : this.removeAttribute("checked"); 
    } 
} 
</script> 

我試圖通過XPath來獲得elemtns出來,id和tagName,但沒有任何工作。

這裏是我的Java代碼:

WebDriver driver = new FirefoxDriver(); 
     driver.get("http://the-internet.herokuapp.com/"); 
     driver.findElement(By.xpath("html/body/div[2]/div/ul/li[5]/a")).click(); 
     List<WebElement> elements = driver.findElements(By.id("checkboxes")); 

我萬阿英,蔣達清是元素的大小爲0

回答

0

您可以通過下面寫Java代碼中找到的複選框號:

System.setProperty("webdriver.gecko.driver", "src/geckodriver"); 
    WebDriver driver = new FirefoxDriver(); 

    WebDriverWait wait = new WebDriverWait(driver, 30); 
    driver.get("http://the-internet.herokuapp.com/"); 
    driver.findElement(By.xpath("html/body/div[2]/div/ul/li[5]/a")).click(); 

    By locator = By.xpath("//input[@type='checkbox']"); 
    wait.until(ExpectedConditions.presenceOfElementLocated(locator)); 
    wait.until(ExpectedConditions.visibilityOfElementLocated(locator)); 
    List<WebElement> elements = driver.findElements(locator); 
    int size = elements.size(); 
    System.out.println(size); 

您可以選擇任何您想要的複選框,然後您可以檢查網頁上覆選框的狀態:

代碼段用於檢查複選框

for(int i=0; i<elements.size();i++){ 
     String check_state= elements.get(i).getAttribute("checked"); 
     if(check_state == null){ 
      System.out.println("Checbox "+(i+1)+" is not selected"); 
     } 
    } 
+0

謝謝你真的太多它的工作狀態。你能告訴我,在哪裏我可以瞭解更多關於你使用的xpath //輸入[@ type ='checkbox']因爲我總是不確定我應該使用哪條路徑。 – Fsociety