>
Selenium可以在元素在HTML DOM中出现或可见时立即识别它们的存在或可见性。从用户的角度来看,您可以在WebElement上调用isdisplay()
方法来检查是否显示了预期的WebElement。根据当前的实现,Selenium可能无法区分加载的和呈现的元素。ExpectedConditions类中的ElementToBeClickable方法设置检查元素是否可见和启用的期望值,以便单击该元素。
当元素加载到DOM中,但UI显示加载正在进行中时,您仍然需要等待JavaScript和AJAX调用完成页面加载,这样页面上的所有WebElements就可以相互连接了。您最多可以将PageLoadStrategy
设置为normal,但是仍然需要引导WebDriverWait以使预期的WebElement呈现、可见、可交互或可单击。
在这里您可以找到关于页面加载策略的详细讨论
presenceOfElementLocated(By locator)
An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible.
visibilityOf(WebElement element)
An expectation for checking that an element, known to be present on the DOM of a page, is visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0.
elementToBeClickable(By locator)
An expectation for checking an element is visible and enabled such that you can click it.
问题内容: selenium:selenium如何识别可见元素?是否可以将其加载到DOM中但不能在UI上呈现?我想验证一个元素可单击的情况,我知道Web驱动器具有方法“ ElementToBeClickable”,但是,我想知道内部的工作方式。请帮我。 另外,如何处理将元素加载到DOM中但UI显示加载正在进行中的情况,如何等待完整加载? 请让我知道,如果未加载UI,则selenium将直接调用DO
当用触发时,事件错误表示元素不可见
问题内容: 我的任务是编写一个解析器以单击网站上的一个按钮,但我只能单击其中一个按钮而遇到问题。以下代码适用于除一个按钮之外的所有按钮。 这是html:http: //pastebin.com/6dLF5ru8 这是源html:http: //pastebin.com/XhsedGLb python代码: 我收到此错误。 根据赛富尔,我刚刚尝试等待相同的元素不可见异常: 问题答案: 如果你看一下页
同时点击一个特定的按钮-我的测试站点将打开模式窗口。 我找不到更好的方法等到任何一个都可见的时候。 你能提出一个解决这种情况的方法吗?
我用的是C#硒。WebDriver.2.44.0在某个第三方网站上,我试图按下一个元素并得到这个: 我得到了元素,点击我得到了: 该项目是在一些子菜单显示后,我成功地按下父菜单。也放5秒睡眠保险点手风琴看的很清楚(在我眼里也是看的很清楚)。 问题 - 在第三方网站上,如何强制点击此项目?
我无法从下拉列表中选择一个选项,该选项通过单击输入框可见。我在c#中使用Selenium。功能如下; 打开网页 点击目标输入框 这会导致显示目的地下拉列表 从此列表中选择一个选项 然后将选项写入目标输入框 此列表的超文本标记语言是; 我的测试代码是以下; 运行此测试会产生以下错误; OpenQA.硒元素不可见异常 : 元素不可见: 元素当前不可见,不能纵 我尝试在找到country list类之前