如何通过selenium webdriver在新窗口中单击复选框

时间:2018-05-16 07:10:49

标签: selenium selenium-webdriver xpath css-selectors webdriver

我正在尝试点击此复选框,但不是我无法点击复选框。

请发给我xpath或css

enter image description here

我试过了:

xpath
//div//*[@id='thCheckBox']

.//*[@id='searchOrderModel']/div/div/div[3]/div/button[2]

3 个答案:

答案 0 :(得分:0)

复选框旁边有一个标签。您可以尝试单击标签,然后单击x-path下面的复选框。

//label[@for='thCheckbox']

答案 1 :(得分:0)

根据您提供的HTML以及复选框的问题在复选框上的click()的新窗口中,您必须诱导 WebDriverWait 可以点击复选框,您可以使用以下定位器策略

  • cssSelector

    "table.table.table-hover.dataTable#orderNoDropdown label[for='thCheckBox']"
    
  • xpath

    "//table[@class='table table-hover dataTable' and @id='orderNoDropdown']//label[@for='thCheckBox']"
    

答案 2 :(得分:0)

正如您所说,它是新窗口,您必须切换到新的窗口才能与网络元素进行互动。到达新窗口后,您可以使用以下代码:

ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());  
driver.switchTo().window(tabs.get(1));

//现在您专注于新的Windows,现在可以与复选框进行交互:

WebElement checkBox = new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.id("thCheckBox")));  
checkBox.click();  

如果你愿意的话,你必须再次切换到你去过这个页面的页面。

driver.close();
driver.switchTo.windows(tabs.get(0));