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