Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何编写if语句使按钮可见?_Selenium - Fatal编程技术网

Selenium 如何编写if语句使按钮可见?

Selenium 如何编写if语句使按钮可见?,selenium,Selenium,我在页面上有一个按钮,有时不显示。我想让我的代码绕过它,但它无法与driver.findElement.isDisplayed()配合使用。我在考虑将ExpectedConditions.element设置为可伸缩的,但我不知道如何将其设置为布尔值。请提供一些帮助?(当然,条件返回错误,因为它不是布尔值) “findElement返回元素或抛出NoSuchElementException,因此要确定元素在条件下是否可见,您应该尝试使用findElements,因为它返回WebElement列表或

我在页面上有一个按钮,有时不显示。我想让我的代码绕过它,但它无法与
driver.findElement.isDisplayed()配合使用。我在考虑将
ExpectedConditions.element设置为可伸缩的
,但我不知道如何将其设置为布尔值。请提供一些帮助?(当然,条件返回错误,因为它不是布尔值)


findElement
返回元素或抛出
NoSuchElementException
,因此要确定元素在条件下是否可见,您应该尝试使用
findElements
,因为它返回WebElement列表或空列表,所以您只需检查其
大小,如下所示:-

List<WebElement> elements = driver.findElements(By.xpath("your xpath"));

//Now check it size
if(elements.size() > 0 && elements.get(0).isDisplayed())
{
   WebElement element = elements.get(0);
  //Now do your further stuff with this element 
}
List elements=driver.findElements(By.xpath(“您的xpath”);
//现在检查它的大小
if(elements.size()>0&&elements.get(0.isDisplayed())
{
WebElement=elements.get(0);
//现在用这个元素做进一步的工作
}

始终可以将引发异常的语句转换为带有try/catch块的布尔语句,而不是返回false。
List<WebElement> elements = driver.findElements(By.xpath("your xpath"));

//Now check it size
if(elements.size() > 0 && elements.get(0).isDisplayed())
{
   WebElement element = elements.get(0);
  //Now do your further stuff with this element 
}