2017-04-18 12 views
-1

私はJavaプログラミングを使用しています。今、ここのWebコード。ドライバはセレンで要素を見つける

<button class="btn-link" data-sugg-sources="full_name" data-sugg-technik="make_initial_and_name">NG1ulkan</button> 

私が右クリックしてコピーすると、> CSSセレクター、ウェブは私にこのコードを与えてくれます。

'.suggestions> UL:n番目の子(2)>李:n番目の子(1)>ボタン:n番目の子(1)'

今の質問です:私は、この要素を見つけることができますどのようにこのセレクタと私はどのようにセレンのJavaでフォーカスしてクリックできますか? また、JavascriptExecutor js =(JavascriptExecutor)ドライバを使用しています。セレンのJava APIに焦点

+0

をできましたそのクラスによって要素を見つけられませんか? –

+0

いいえ、5つのボタンがありますので、このセレクタに従って選択する必要があります。ug:nth-​​child(2)> li:nth-​​child(1)>ボタン:nth-​​child(1) ' – agean12

+1

ようこそスタックオーバーフロー! [尋ねる]と[どの程度の研究努力が必要ですか?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)をお読みください。試したコードとエラーメッセージなどの実行結果を提供してください。 – JeffC

答えて

0

のための私のコードでは、あなたはWebDriver.findElementBy.cssSelectorを使用するつもり:

String selector = ".suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)"; 
WebElement button = driver.findElement(By.cssSelector(selector)); 

this StackOverflow answer参照してください。

0

.suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)cssSelectorです。それだけであなたは、この要素をクリックするので、あなたは、次のコードを使用することができますJavascriptExecutorを使用しているに述べたように、それがCSS値

に基づいているだけで、Webページ上で存在する要素を見つけるために、XPathのように:あなたを

js.executeScript("document.querySelector('.suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)').click();"); 
関連する問題