0

クラス名を使用して要素をクリックしようとしていますが、コードの下に要素が表示されているかどうかも確認したいと思います。

1. driver.findElement(By.xpath("//div[contains(@class,'" +Search.SearchType+ "') and contains(@style, '" +visibility: visible+ "')] /div/div[contains(text(),'Find Insured')]")).click();

2. driver.findElement(By.xpath("//div[contains(@class,'" +Search.SearchType+ "') and contains(@visibility, 'visible')] /div/div[contains(text(),'Find Insured')]")).click();

  1. 可視性の構文エラー
  2. 要素の例外を見つけることができません「and contains(@visibility, 'visible')」の部分を削除すると、正常に動作します
4

2 に答える 2

4

@Brantley: Selenium のisDisplayed()API は、この目的のためのものであり、「スタイル」属性を解析する必要がないことによって要素の可視性をチェックします。

ここをチェック

于 2013-08-22T17:26:43.020 に答える
1

このようなものは機能しますか?

By.cssSelector("div." + Search.SearchType + ":not([style *= 'display:none'])")
于 2013-08-21T14:02:41.493 に答える