boolean display = driver.findElement(By.cssSelector( "input#txtkeyword [placeholder = 'Job title'] ' );))isDisplayed(); = false ブール値enable = driver.findElement( "input#txtkeyword [プレースホルダー= 'ジョブタイトル']"))isSelected(); = false boolean enable = driver.findElement isEnabled(); = trueorg.openqa.selenium.ElementNotVisibleException:要素が表示されていないか、CSSセレクタの他の組み合わせと同様にIDで試行されます。
0
A
答えて
0
要素が表示されない理由はたくさんあります。それはポップアップでカバーすることができますが、DOMはまだロードされている可能性があります。
最初のインスタンスでは、失敗した場合のスクリーンショットを取り、要素がカバーされているかどうかを確認します。私はcucumber-jvmのために以下を使用します。あなたはどのようなフレームワークを使用しているのかを行う方法をGoogleにすることができます。
@After
public void captureScreenshotOnFailure(Scenario scenario){
try {
if (scenario.isFailed() && driver !=null) {
System.out.println("***>> Scenario failed: "+scenario.getStatus());
try {
driver augemented = new Augmenter().augment(webDriver);
byte[] screenshot = ((TakesScreenshot) augemented).getScreenshotAs(OutputType.BYTES);
scenario.embed(screenshot, "image/png");
} catch (Exception e) {
e.printStackTrace();
}
}
} finally {
if (driver !=null) {
driver.quit();
}
}
}
DOMのロードが完了していない場合は、それを待ちます。
Wait<driver> wait_element = new WebDriverWait(driver, 80);
WebElement jobTitleElement = wait_element.until(
ExpectedConditions.visibilityOfElementLocated(By.cssSelector(
"input#txtkeyword[placeholder='Job title']")));
待機が失敗した場合、その要素は存在しません。
待機が成功した場合は、要素までスクロールします。要素がボタンの場合は、moveToElement()の後にクリック()することができます。これは完全なコードを含むだけではありません。
Actions action = new Actions(driver);
action.moveToElement(jobTitleElement).click().build().perform();
関連する問題
- 1. org.openqa.selenium.ElementNotVisibleException:要素が表示されない(セッション情報:chrome = 55.0.2883.87)
- 2. Firefoxに表示されていない要素が他のナビゲータで表示されています
- 3. CSS - ブートストラップと組み合わせたときにクラスが登録されない
- 4. アンカータグがクリックされた要素IDが表示されない
- 5. 擬似要素が表示されていない場合のCSSコンテンツのDiv
- 6. レイアウト内の要素が表示されない(別の要素で覆われていません)
- 7. グループ化された要素の組み合わせ
- 8. サスクラスと要素セレクタを組み合わせ
- 9. 文がランダムな行の名前と組み合わされている場合
- 10. 他の要素が存在しない場合や表示されていない場合、要素を非表示にする方法はありますか?
- 11. 製品リストにPrestashop製品の組み合わせが表示されます
- 12. 同じプロパティを持つCSSセレクタを組み合わせる、PHP
- 13. 他のすべての要素にCSSが表示されます
- 14. 擬似要素が表示されないときに表示されます
- 15. 要素/ divが画面に表示されない場合のCSSの変更
- 16. 他の要素を表示していない場合は、要素が表示されているかどうかを確認してください。
- 17. 表示要素:まだ表示されていませんか?
- 18. Flutter - 動的に生成された要素をハードコードされた要素と組み合わせる
- 19. jQueryセレクタに新しく追加された要素が表示されないのはなぜですか?
- 20. 列の組み合わせの組み合わせデータフレームの行ではない
- 21. jQuery-他の要素がクリックされていない場合のみフォーカスアウト
- 22. CSSで親セレクタとクラスセレクタを組み合わせるにはどうすればよいですか?
- 23. 要素は同じ行に表示されません
- 24. とCSSセレクタを組み合わせること:第一子
- 25. 組み合わされた組み合わせが固まった
- 26. 無効要素が表示されている場合に要素を見つけるためのセレクタ
- 27. Netlogo:同様のカメと組み合わせペアの作成
- 28. OpenCV - サポートされていないフォーマットまたはフォーマットの組み合わせエラー
- 29. セットの要素の組み合わせ
- 30. キーボードが表示されているときに同様にピッカービューが表示されるときのスクロール画面
最初はIDで試しましたが、driver.findElement(By(ID))。size()> 1を見つけたときにCSSセレクタに変更しました。 – Gazal
あなたはHTMLコードスニペットを共有してください。問題を特定するのに役立ちます。 –
– Gazal