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/