在 HTML 中捕获直接子项
Capture immediate child in HTML
将 watir-webdriver 与 Ruby 2.3.3
一起使用
我需要从 HTML
下面找到所有具有属性(data-id)的 Div
<div id="response1">
<div data-id="2">
<span>XYZ</span></div>
<div data-id="3">
<span>XYZ</span></div>
<div data-id="4">
<span>XYZ</span>
<div></div>
</div>
<div data-id="5">
<span>XYZ</span></div>
<div data-id="6">
<span>XYZ</span></div>
<div data-id="7">
<span>XYZ</span>
<div></div></div>
</div>
但是当我使用
@browser.div(id: "response1").divs
我得到了 8 个 div 元素,而我期望只有 6 个具有属性 'data-id' 的子 div 元素,但似乎 .divs 捕获了所有 [=27] =] 里面的元素 html。
有没有办法只捕获这 6 个 div 元素。
如果您使用的是 Watir v6.2 或更高版本,则有一种新的 #children
方法可以仅定位直接子级:
browser.div(id: "response1").children
它接受标准定位器。例如:
# is a div tag
browser.div(id: "response1").children(tag_name: 'div')
# has a data-id containing 5
browser.div(id: "response1").children(data_id: /5/)
如果您使用的是旧版本,则必须编写 XPath:
browser.div(id: "response1").divs(xpath: './div')
将 watir-webdriver 与 Ruby 2.3.3
一起使用我需要从 HTML
下面找到所有具有属性(data-id)的 Div<div id="response1">
<div data-id="2">
<span>XYZ</span></div>
<div data-id="3">
<span>XYZ</span></div>
<div data-id="4">
<span>XYZ</span>
<div></div>
</div>
<div data-id="5">
<span>XYZ</span></div>
<div data-id="6">
<span>XYZ</span></div>
<div data-id="7">
<span>XYZ</span>
<div></div></div>
</div>
但是当我使用
@browser.div(id: "response1").divs
我得到了 8 个 div 元素,而我期望只有 6 个具有属性 'data-id' 的子 div 元素,但似乎 .divs 捕获了所有 [=27] =] 里面的元素 html。
有没有办法只捕获这 6 个 div 元素。
如果您使用的是 Watir v6.2 或更高版本,则有一种新的 #children
方法可以仅定位直接子级:
browser.div(id: "response1").children
它接受标准定位器。例如:
# is a div tag
browser.div(id: "response1").children(tag_name: 'div')
# has a data-id containing 5
browser.div(id: "response1").children(data_id: /5/)
如果您使用的是旧版本,则必须编写 XPath:
browser.div(id: "response1").divs(xpath: './div')