java - 使用 selenium webdriver 单击隐藏的 div 元素
问题描述
我正在测试一个应用程序,我必须单击一个菜单按钮,该按钮显示一组菜单设置。我必须单击其中一个菜单选项才能浏览页面。示例 HTML 代码如下。
<custom-icon icon="menuDown"></custom-icon>
<div class = "settings" hidden="hidden">
<div class="settingItems"> View Settings </div>
</div>
在这里,如果我点击自定义图标(一个按钮),隐藏的选项 div 变为可见,我可以点击查看设置 div 导航到页面。但由于设置 div 被隐藏,我无法访问它。谁能帮我解决这个问题。我的主要动机是点击查看设置按钮(在隐藏的 div 中)并导航到另一个页面
我尝试点击自定义图标并点击查看设置 div。我收到一个元素不可点击的错误。我猜单击自定义图标不会使设置 div 可见。我还尝试使用此代码使隐藏的 div 可见。
WebElement settingsMenu = driver.findElement(By.xpath("//div[@class='settings']"));
((JavascriptExecutor) browserDriver).executeScript("arguments[0].style.height='auto';arguments[0].style.visibility-'visible';",settingsMenu);
即使这样也行不通
解决方案
尝试在 webdriver 初始化之后或单击元素之前添加隐式等待。
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;
推荐阅读
- html - 我如何居中在容器中间?
- c# - 如何设置是手动为EF中的虚拟属性修改的,我已经知道如何设置普通属性和集合
- javascript - 将 lang 替换为路由名称
- python - 如何为不同的产品设置不同的尺寸
- python - 并行化 for 循环的所有迭代
- google-app-engine - asia-south1 区域没有足够的资源来满足请求
- flutter - Flutter 错误:找不到正确的提供程序
- >
- flutter - 当textformfield不为空时颤动如何更改提交按钮颜色?
- flutter - 在flutter中同步gradle文件时接收java.lang.StackOverflowError
- c++11 - Qml : 切换 qml 视图