java - org.openqa.selenium.ElementNotVisibleException:元素不可见

时间:2018-06-06 13:09:32

标签: java selenium xpath

我正在尝试从搜索栏中选择一个组。关于如何使元素可见的任何提示?

driver.findElement(By.xpath("//div[@id='global-search-box-item-0']")).click();

以下是HTML结构。

<div role="option" id="global-search-box-item-0"><i aria-hidden="true" 
class="comments outline circular icon _2BaEJYulOrH2_i6ZYf-DdV" xpath="1" 
style=""></i><div class="_58oiWFV24V4GmIFrAnwPx"><div class="title">**Test 
Automation** HE Community PRIVATE Group</div><div class="description">**Test 
Automation** HE Community PRIVATE Group </div></div></div>>

1 个答案:

答案 0 :(得分:0)

如果它不可见,那么应该更改页面逻辑以使其可见,如果这是你想要的?

你可以使用javascript执行程序破解它。

WebElement webElement = driver.findElement(By.xpath("//div[@id='global-search-box-item-0']"));

((JavascriptExecutor)driver).executeAsyncScript("args[0].style.display='block';",webElement);

否则,如果页面上存在且可见,则此xpath只会返回元素的可见版本。

driver.findElement(By.xpath("//div[@id='global-search-box-item-0' and not(ancestor::*[contains(@style, 'display: none')])]")).click();