我使用Selenium在一个有多个下拉菜单的页面上运行测试(特别是一个弹出页面,允许您选择一些选项然后关闭它)。我可以点击这些菜单中的一些完全罚款;但是,其中一些会抛出ElementNotInteractable
异常,消息为“Element不能滚动到视图中”,即使菜单是紧挨着的。我很困惑为什么一个菜单有效,而另一个却不有效,尽管它们看起来是一样的。为了点击菜单,我尝试了三种方法:
a)常规硒点击:
driver.findElement(By.xpath("//select[@foo='bar']").click();
这是其他菜单的工作原理,除了我直接导航到“选项”标签并单击它(不需要先单击下拉)
b)Javascript执行器
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
当我使用这个时,不会引发异常;然而,菜单仍然是空的,这让我相信它没有被点击。
Actions builder = new Actions(driver);
builder.moveToElement(menu).click(menu);
builder.perform();
编辑:我尝试了在类似问题中找到的解决方案;不幸的是,它不起作用。解决方案是添加显式等待,因为元素可能没有完全加载,这只会导致超时。
您可以在调试模式下使用chrome开发工具:1-在异常行放置断点,2-在chrome控制台中使用$x(“//select[@foo='bar']”)
获取元素。
要选择值,可以使用org.openqa.selenium.support.ui.select
对象:
new Select(element).selectByValue(value);
我正在尝试用Selenium选择一个值。 你能帮我纠正一下情况吗?
我正在尝试使用java和Eclipse学习Selenium。我试图找到网页中的一个元素。 我尝试使用这行代码单击一个html元素: 下图显示了页面的html结构:
有人能帮我一下吗:检查元素代码是。 代码为:
我正在为我的公司自动化IdentiGO应用程序,并得到以下错误: 下面是我的代码,由于与我的问题无关,所以省略了导致该页面的脚本。 在此代码之前的页面上,用户选择约会日期和时间;我希望脚本等待“开始”按钮被推,然后在下面的截图中点击“继续”: null https://jsfiddle.net/khf4tym3/ 当我单击“View page source”时,弹出的html不会显示在源代码中,所
问题内容: Selenium 1.x或2.x中是否可以滚动浏览器窗口,以使XPath标识的特定元素在浏览器的视野中?Selenium中有一个聚焦方法,但是在FireFox中似乎并没有实际滚动视图。有人对此有任何建议吗? 我需要这样做的原因是我正在测试页面上某个元素的点击。不幸的是,除非该元素可见,否则该事件似乎不起作用。我无法控制单击元素时触发的代码,因此无法调试或对其进行修改,因此,最简单的解决
错误是“元素输入class=”whsond zhqkbf“name=”password“type=”password“无法滚动到视图中”