我正在使用Selenium 2,我想点击Name3的“邀请”链接。我怎么能这样做?
这是html代码:
<ul>
<li>
<label for="511565484">
<img src="pic1">Name1</label>
<a class="button_green sendInvite" href="javascript:;" title="Invite">Invite</a>
</li>
<li>
<label for="535963597">
<img src="pic2">Name2</label>
<a class="button_green sendInvite" href="javascript:;" title="Invite">Invite</a>
</li>
<li>
<label for="561708219">
<img src="pic3">Name3</label>
<a class="button_green sendInvite" href="javascript:;" title="Invite">Invite</a>
</li>
</ul>
答案 0 :(得分:2)
似乎只能用XPath完成:
//label[text()='Name3']/following-sibling::a
答案 1 :(得分:0)
element2 = driver.findElement(By.xpath(“// img [()text ='Name3'] / a”)); element2.click();
答案 2 :(得分:0)
如果XPATH对你来说不是最有用的东西,你总是可以做这样的事情(Webdriver的Ruby实现......但它们都是一样的):
invite_links = driver.find_elements(:class_name, "sendInvite")
invite_links现在包含所有匹配项的数组,因此您的下一步非常简单:
invite_links[2].click()
或者我的方式:
driver.find_elements(:class_name, "sendInvite")[2].click
这对我来说比XPATH更容易阅读,因为我不经常使用它。