2011-02-25 20 views
2

我正在使用watir-WebDriver自動化網站測試自動化。我必須去兄弟聯繫。在使用watir-WebDriver時找到鏈接的兄弟

看起來像這樣

東西>東西2>當前頁面的標題 (鏈接1)(鏈接2)(文本)

我有文本1的類ID,我得回去點擊鏈接2點擊2。

我該如何得到它。

+0

「的一個例子是手持一下吧」(http://www.exampler.com/blog/2007/08/ 07/marketing-mania-continued /) – 2011-02-25 13:16:44

+0

如果你可以給出一個HTML格式的例子,它會是最有幫助的,你已經表達了它的方式我不確定什麼是容器,什麼是容器旁邊實際的HTML會讓人們更好地提供更好的建議或代碼示例。 – 2011-03-03 01:24:27

回答

0

如果(文本)是(鏈接2)一個孩子,你可以嘗試:

(文本).parent

1

我認爲你可以得到elements_by_xpath同級鏈接。

例如


HTML源:

< A HREF = " FOO " >酒吧< /一個> < P類= "巴茲" >文本</P >


的Watir-webdriver的腳本:

P(:類, '巴茲')elements_by_xpath( '前同輩:: *')[ - 1]

0

如果我理解正確你有某種形式的。容器元素就像一個div,裏面有兩個鏈接和一些文本。不清楚的是文本是屬於外部容器還是屬於它自己的容器。鑑於你說你有'classid'(是類或id?)的文本,我會假定它在它自己的容器元素中。

在這種情況下

browser.element(:class, 'value').parent.link(:index, 2).click 

這是我可以不用HTML,的DOM

1

更清晰的模型的實際樣品如果你可以找到兩個兄妹共同的父最好的,你可以去那父母,然後使用這樣的選擇從該點元素:

HTML源文件:

<tr> 
    <th>No. of films</th> 
    <td>7</th> 
</tr> 

刮(@b是瀏覽器對象)

@b.th(:text => "No. of films").parent.tds.first.text 
#=> 7 
0

正如前面所有的回答說,你得有這個層次上面參照點。然後browser.p(:id, 'known').parent.links[1].click會完成這項工作。但是,如果你真的真的不,試試這個無可救藥簡單的方法:

browser.link(:text => 'Something 2').click