0

firebug を使用すると、これが xpath として返され、これが返されます /html/body/div[5]/div[2]/div/div[7]/div/div[4]/div/div[2 ]/div/ol/li/div/h3/a

これを Selenium Webdriver で使用してリンクをクリックする方法がわかりません。

ありがとう!

4

3 に答える 3

1

これは、ドキュメントで十分にカバーされています。

http://docs.seleniumhq.org/docs/03_webdriver.jsp#selenium-webdriver-api-commands-and-operations

ただし、非常に単純な答えであるため、次のようにするだけです。

driver.findElement(By.xpath("div[5]/div[2]/div/div[7]/div/div[4]/div/div[2]/div/ol/li/div/h3/a"));

driver(有効な WebDriver インスタンスであると仮定し、html/bodyセクションを省略しました - 必要ありません)。

于 2013-04-25T19:44:10.500 に答える
0

常に xpath を単純化するようにしてください。この xpath で firebug を使用して、一意かどうかを確認してください。そうでない場合は、もう少し具体的にする必要があります。

"//h3/a"
于 2013-04-25T21:41:13.590 に答える
0

不必要に xpath を使用しないでください。将来、何か問題を起こすでしょう。@Noraが言ったようにその要素を見つける他の方法がない場合は、xpathを簡素化してみてください。

あなたの場合、By.linkText、By.partialLinkText を使用できます。

driver.findElement(By.linkText("linkName")).click();

driver.findElement(By.partialLinkText("partialTextOfLink")).click();

driver.findElement(By.xpath("//a[text()='LinkText']")).click(); //simplified xpath

そのアンカータグで使用できる他の属性 (id、name など) がない場合は、上記のいずれかを使用できます。

于 2013-04-26T05:42:14.670 に答える