2016-06-20 8 views
-1

Button HTML Codeボタンのxpathをクリックするコマンドを書くにはどうすればよいですか?セレンドライバボタンXpath

XPathは、それがこのように

XPathを使用して
driver.findElement(By.xpath("html/body/div[1]/div[1]/form/div/div[1]/div/div/a[1]/button")).click(); 
+1

投稿したコードに問題がありますか?それは動作しますか?もしそうでなければ、それはあなたが期待しているものとは何か違うのですか?何かエラーがありますか? –

+0

セレンのwebdriverの[click]コマンドが重複している可能性があります(http://stackoverflow.com/questions/11676790/click-command-in-selenium-webdriver-does-not-work) – Andrejs

+0

実際のHTMLを共有できますかあなたが作業しているページの、または少なくともボタンのHMTL? –

答えて

1

だろう

html/body/div[1]/div[1]/form/div/div[1]/div/div/a[1]/button

では、 "簡単" であるが、非常に壊れやすいです。要素を別の方法で取得する方が効果的です(例: CSSセレクタ "button.search-button"で指定します。

driver.findElement(By.cssSelector("button.search-button")).click(); 

オンラインでCSSセレクタについて学んでください。ここに良いリファレンスガイド、https://www.w3.org/TR/selectors/#selectorsがあります。ウェブ上には多くのチュートリアルがありますが、ここから始めるには良いものがあります。https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started/Selectors

+0

Jeffさん、今投稿したリンクを見ていただきありがとうございます! – user6401108

+0

基本チュートリアルへの別のリンクを追加しました。参照は良いですが、それを使用する方法がわからない場合はあまり有用ではありません。私がリンクしたチュートリアル/ガイドを試してみてください。私はいつもCSSセレクタを使用しており、XPathより使いやすくなっています。 CSSセレクタではできないXPathは非常にわずかしかありません。 XPathは一般的に遅く、ビルド方法によってはより壊れやすくなります。 – JeffC

+0

もっと壊れやすいのはどういう意味ですか?コードを乱すのと同じように?もう一度、ありがとう! – user6401108