如何单击列表selenium2中的链接

时间:2013-02-15 09:40:48

标签: java webdriver html-lists selenium-webdriver

我正在使用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>

3 个答案:

答案 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更容易阅读,因为我不经常使用它。