See this image我有一个可以滚动的复选框列表,但找不到实际的定位器。这是HTML:

<a class="collection-item" href="#!" disabled="">
  <span>
    <input id="3" class="filled-in checkbox-orange" type="checkbox"/>
    <label for="3"/>
  </span>
  <span for="3">  3 AM- 4 AM </span>
</a>


我已经尝试过了,但是没有用:

driver.findElement(By.cssSelector("a.collection-item").id("3"));
// or
driver.findElement(By.xpath(".//*[@id='time']/a[3]")).click();
// or
Actions builder = new Actions(driver);
    builder.moveToElement(we1).click().build().perform();

最佳答案

如果您收到“元素当前不可见,因此可能无法与Command交互”异常,则可能是在您的一个CSS类中将元素的显示或可见性属性设置为隐藏。要修复它,请执行此操作。

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('3').setAttribute('display', 'block')");
js.executeScript("document.getElementById('3').setAttribute('visibility', 'visible')");
// Finally, click your checkbox.
driver.findElement(By.id('3')).click();

关于java - Selenium 找不到定位器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36857496/

10-15 06:13