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

Jam*_*eau 7 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?或者有更好的方法完全这样做吗?谢谢!

Jam*_*eau 6

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