【发布时间】:2017-06-27 11:14:04
【问题描述】:
Actions action = new Actions(driver);
WebElement we = driver.findElement(By.xpath("//*[@id='ctl00_Sitemap1_HyperLink1']"));
action.moveToElement(we).build().perform();
WebElement tmpElement= driver.findElement(By.xpath("//*[@id='ctl00_Sitemap1_HyperLink1']"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", tmpElement);
List<WebElement> dd_list = driver.findElementsByXPath("//*[@id='masterNavigation']/ul/li[1]/ul/li");
for (WebElement ele : dd_list)
{
System.out.println("Values " + ele.getAttribute("innerHTML"));
if (ele.getAttribute("innerHTML").contains("Event Dashboard")) {
ele.click();
break;
}
}
}
您好,我正在尝试自动化引导下拉菜单。默认情况下它的可见性是隐藏的。一旦你将鼠标悬停在它上面,它的可见性属性就会显示可见。我可以点击下拉菜单,但是在点击下拉菜单后,我的 selenium 脚本没有从下拉菜单中选择值。
错误:线程“main”中的异常 org.openqa.selenium.ElementNotVisibleException:无法点击 元素
HTML 代码片段
<a class="ui-button-text-icons" id="ctl00_Sitemap1_HyperLink1" href="javascript:void(void);">
<span style="padding-right: 1.3em;">Dashboards</span>
<span class="ui-button-icon-secondary ui-icon ui-icon-triangle-1-s"></span>
</a>
<ul style="visibility: hidden;">
<li class="first featureGranted">
<a href="ClassicDashboard.aspx">Classic Dashboard</a>
</li>
</ul>
【问题讨论】:
-
请格式化您问题中的 HTML
-
@NehaDixit 正如你提到的
visibility is hidden by default和鼠标悬停visibility property shows visible这样你就可以点击下拉菜单,现在你的脚本要从下拉菜单中选择一个值,你必须阅读DropDown 元素的属性并相应地选择它们。如果它导致ElementNotVisibleException,你必须放慢一点。谢谢
标签: selenium selenium-webdriver webdriver