1

webdriver.find_element_by_link_text('searchterm')webElementを取得するためにセレンを使用しています。次に、「href」をhref使用して値を見つけるwebElement.get_attribute('href')ことができます。xpathによって要素自体を見つけることができます。

.//*[@href=webElement.get_attribute('href')]

問題は、これがクリックしたいリンクではなく、クリックしたいリンクに「google reader」というテキストがあり、さらに3列下にあることです。

<tr id="AB2Xq4gXoer9sCEEr-rRcZjVz1p021-gdypaX-U" class="ACTIVE">
  <td class="checkbox">
    <td class="alert-type" colspan="2">
      <a href="RETRIEVABLE ATTRIBUTE">FOUND TEXT</a>
    </td>
    <td class="alert-volume">Only the best results</td>
    <td class="alert-frequency">As-it-happens</td>
    <td class="alert-delivery">
      <a href="THE ELEMENT I WANT TO CLICK">Google Reader</a>
      <a href="another link">
    </td>

ここでの問題は、一連の「グーグルリーダー」リンクがあるため、この用語は使用できないことです。

パスを介して必要な要素/リンクに移動する可能性はありますか?

私は親に行き、次に適切な子供に行くことを試みてきましたが、私はそこにたどり着きません。

いつでも感謝し、助けを与えてください!

心から

4

2 に答える 2

3

a'text()を文字列と比較します。

 .//a[text()="Google Reader"]

FOUND TEXTから対応するに移動するには、 (親)と:Google Readerを使用します。..following-sibling

.//a[text()="FOUND TEXT"]/../following-sibling::td/a[text()="Google Reader"]
于 2012-11-01T10:00:44.130 に答える
0

さて、私は次のことを試します:

String xPathLink="//a[contains(text(),'Google Reader')]"
    List<WebElement> a=driver.findElements(By.xpath(xPathLink));


      a.get(0).click();
//or         a.get(1).click();
//or         a.get(2).click();

「Google Reader」を含む要素リストの順序に依存します

まあ、firebug は、クリックする必要がある要素についてのヒントを提供します。 ここに画像の説明を入力

于 2012-11-01T10:25:18.077 に答える