我正在使用watir-WebDriver来自动化网站测试自动化。我必须到兄弟姐妹的链接。
看起来像这样
东西>东西2>当前页面标题 (link1)(link2)(text1)
我有text1的类id,我必须通过点击link2返回Something 2。
我如何得到这个。
答案 0 :(得分:1)
我认为你可以通过elements_by_xpath获得兄弟链接。
例如
HTML来源:
< a href =“foo”> bar< / a>< p class =“baz”> text< / p>
watir-webdriver脚本:
P(:类, '巴兹')。elements_by_xpath( '前同辈:: *')[ - 1]
答案 1 :(得分:1)
如果您可以找到两个兄弟姐妹的共同父母,您可以转到该父母,然后使用以下内容从该点选择元素:
source html:
<tr>
<th>No. of films</th>
<td>7</th>
</tr>
scrape(@b
是浏览器对象)
@b.th(:text => "No. of films").parent.tds.first.text
#=> 7
答案 2 :(得分:0)
如果(text1)是(link2)的孩子,你可以尝试:
(文本).parent
答案 3 :(得分:0)
如果我理解正确你有一些像div一样的容器元素,里面有两个链接和一些文本。不清楚的是文本是属于外部容器,还是属于自己的容器。如果你说你有文本的'classid'(是类?或id?),我会假设它在它自己的容器元素中。
在那种情况下
browser.element(:class, 'value').parent.link(:index, 2).click
如果没有HTML的实际样本,这是一个更清晰的DOM模型
,这是我能做的最好的事情答案 4 :(得分:0)
正如之前的所有回答所说,你必须在这个层次结构之上有一个参考点。然后browser.p(:id, 'known').parent.links[1].click
将完成这项工作。但如果你真的不这样做,试试这个绝望的简单方法:
browser.link(:text => 'Something 2').click