【发布时间】:2014-08-18 21:20:14
【问题描述】:
我正在尝试使用 WatirWebdriver 进行 2 阶段 xpath 选择,首先在容器中查找元素,然后从每个元素中查找特定信息:
# Select all elements of interest
browser.divs(xpath: '/html/body/ul/li[@class="thing"]').each do |pannel|
# Select info from each element
panel.element(xpath: '//h1[@class="thing_title"]/a')
end
问题是第二个 xpath 选择不搜索给定节点的子节点。 它搜索整个页面并选择第一个匹配项 - 因此您每次都会获得第一个匹配项的相同信息。 我发现一种解决方案是给它一个完整的路径,如下所示:
# Select info from each element
panel.element(xpath: 'div/div[2]/div[1]/div/h1/a')
但路径不一定每次都相同,这会破坏事情。
有没有办法只搜索给定节点的子节点,而不指定完整路径?
【问题讨论】:
标签: ruby xpath webdriver watir