想象一下我有一个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书,整个堆栈溢出和页面对象rubydoc信息,我没有找到它。你能告诉我路吗?
提前谢谢你!
slide_show_element.html
应该返回元素HTML。是吗?
弃用警告仅表示页面对象 API 尚不支持#html
方法。您应该在此处请求它:https://github.com/cheezy/page-object/issues?state=open
作为临时解决方法,您可以使用 .element
直接访问 watir-webdriver 元素。
以下内容将为您提供没有折旧警告的 html:
slide_show_element.element.html
我将在下一个版本中将此方法添加到 gem 中。