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 にはすべての一致の配列が含まれているため、次のステップは非常に簡単です。

invite_links[2].click()

または私がそれをする方法:

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

XPATH はそれほど頻繁に使用しないため、XPATH よりも読みやすくなっています。

于 2013-03-12T23:04:03.960 に答える