2017-09-24 206 views
0

嗨,我是使用Java的硒和這裏的情況:硒的webdriver選擇元素「旁邊的」已選擇的元素

<article><div class="inner-article"><a style="height:150px;" href="link"><img width="150" height="150" src="//somelink.jpg" alt="Qxvd 81gof8" /></a><h1><a class="name-link" href="something">THE NAME I"M USING TO FIND THIS ELEMENT</a></h1><p><a class="name-link" href="somelink">Colour1</a></p></div></article> 
<article><div class="inner-article"><a style="height:150px;" href="somelink"><img width="150" height="150" src="someotherlink.jpg" alt="S83glqvbtt8" /></a><h1><a class="name-link" href="link">THE SAME NAME I"M USING</a></h1><p><a class="name-link" href="">Colour2</a></p></div></article> 

所以我要做的就是點擊與它顏色2項。現在我只是在網站上的第一個項目通過搜索元素的名稱,「名字我」 M使用找到這個元素」這樣的

driver.findElement(By.xpath("//*[text()[contains(., 'THE NAME I"M USING TO FIND THIS ELEMENT')]]")).click(); 
+0

問題是什麼?哪些元素正是你要點擊? –

+0

我想點擊一個含有「顏色2 「 – Adamus77

+0

爲什麼不使用By.li nxText? –

回答

0

點擊可以使用下面的XPath的同樣

//a[text()='Colour2'][../preceding-sibling::h1/a='THE SAME NAME I\"M USING']" 

所以基本上我們選擇與具有文本附近的鏈接文本Colour2鏈接THE SAME NAME I"M USING