如何从Capybara元素中提取硒元素?

时间:2013-09-10 18:22:58

标签: ruby selenium webdriver capybara site-prism

我比Ruby和Capybara以及SitePrism更熟悉Java和Selenium,如果这个问题相当厚,我会道歉。

Selenium有一个非常有用的类来管理Select标签Selenium::WebDriver::Support::Select,可以通过传递代表select的Selenium Element(Selenium::WebDriver::Element)来创建它。我想得到一个Select对象,所以我可以使用它方便的方法。

然而,使用SitePrism和Capybara,定义元素的标准方法使我能够访问由Capybara的Element类Capybara::Node::Element建模的选择,而我似乎无法找到提取底层Selenium的简单方法来自Capybara元素的元素。

我一直在寻找替代品,并找到了Capybara的#select方法,但这对我来说似乎非常有限,因为它看起来像是强迫你按值选择并且具有非常窄的参数来定义选择页。

是否有一种简单的方法可以从SitePrism / Capybara创建Selenium Select?或者有更好的方法完全这样做吗?谢谢!

1 个答案:

答案 0 :(得分:6)

啊,我找到了。它一直在Capybara :: Node :: Element。 #native方法从驱动程序返回本机元素。然后可以将其传递到Selenium Select的初始化方法,以成功创建Select。