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. 无法找到元素异常当我删除“并包含(@visibility,'visible')”部分时,它工作正常
4

2 回答 2

4

@Brantley:Selenium 的isDisplayed()api 就是为了这个目的,通过不必解析 'style' 属性来检查元素的可见性。

在这里检查

于 2013-08-22T17:26:43.020 回答
1

像这样的东西会起作用吗?

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