0

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

3 回答 3

2

似乎只能使用 XPath 完成:

//label[text()='Name3']/following-sibling::a
于 2013-02-15T09:51:32.350 回答
0

element2 = driver.findElement(By.xpath("//img[()text='Name3']/a")); element2.click();

于 2013-02-16T22:33:51.687 回答
0

如果 XPATH 对你来说不是最有用的东西,你总是可以做这样的事情(Webdriver 的 Ruby 实现......但都是一样的):

invite_links = driver.find_elements(:class_name, "sendInvite")

邀请链接现在包含所有匹配的数组,因此您的下一步非常简单:

invite_links[2].click()

或者我会这样做的方式:

driver.find_elements(:class_name, "sendInvite")[2].click

这对我来说比 XPATH 更容易阅读,因为我不经常使用它。

于 2013-03-12T23:04:03.960 回答