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 で使用してリンクをクリックする方法がわかりません。
ありがとう!
これは、ドキュメントで十分にカバーされています。
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
セクションを省略しました - 必要ありません)。
常に xpath を単純化するようにしてください。この xpath で firebug を使用して、一意かどうかを確認してください。そうでない場合は、もう少し具体的にする必要があります。
"//h3/a"
不必要に 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 など) がない場合は、上記のいずれかを使用できます。