3

想象一下,我有一个 div(用 Watir 语言):

@browser.div(:id, 'home_slideshow')

我需要里面的 html 代码来做一些“神奇的正则表达式”:)。获取 div html 代码的方法可能是:

the_div_html = @browser.div(:id, 'home_slideshow').html

行。我正在使用 page_object gem,假设我将 div 作为元素,例如:

div(:slide_show, :id => 'home_slideshow')

要获取里面的 html,我可以使用:

the_div_html = slide_show_element.html

...但我收到了弃用警告:

*** DEPRECATION WARNING
*** You are calling a method named attribute_value at home_page.rb:80:in `get_slide_code'.
*** This method does not exist in page-object so it is being passed to the driver.
*** This feature will be removed in the near future.

如何使用 page_object 元素获取 html 代码?正如我之前提出的一些类似问题,当然答案很简单,但我查看了 Cheezy 书、整个 stackoverflow 和页面对象 ruby​​doc 信息,但我没有找到它。你能告诉我路吗?

先感谢您!

4

3 回答 3

5

slide_show_element.html应该返回元素 HTML。可以?

弃用警告仅表示页面对象 api 尚不支持#html方法。你应该在这里请求它:https ://github.com/cheezy/page-object/issues?state=open

于 2012-12-19T10:57:23.633 回答
4

作为临时解决方法,您可以直接使用.element.

以下将为您提供没有折旧警告的html:

slide_show_element.element.html
于 2012-12-19T17:47:20.790 回答
3

我将在下一个版本中将此方法添加到 gem 中。

于 2012-12-20T10:59:47.397 回答