使用网络驱动程序从 IE8 中"select2"的选项列表中选择



我在使用Selenium WebDriver模拟IE8中"select2"中的选项列表中进行选择时遇到了一个问题。问题是从不可见的下拉元素中进行选择(需要滚动)。我尝试的另一种方法是将字符串发送到输入并在之后找到它 - 没有成功,字符串被发送到输入,但选项列表不会通过输入的字符串更新。

我不是 100% 确定这是否适用于 IE8,但请尝试跳过单击选择元素的步骤,只需直接单击要选择的选项元素。

不能保证,但这种方法适用于较新的浏览器,在这些浏览器中,从下拉列表中选择选项有一些奇怪之处,因为您不必(实际上,如果您不这样做,它会更好)复制确切的用户行为。

有两种方法可以与不可见元素进行交互:

首先:使用 Selenium api 将元素带入视图,然后与之交互。以下是针对 Ruby。Java 中必须有方法来实现这一点。

element.location_once_scrolled_into_view

第二:在元素上执行javascript:

driver.execute_script('arguments[0].click();', element)

以上是针对 Ruby 的。但逻辑会帮助你实现你想要的。

最新更新