java - 单击 div 中的提交按钮不会将属性显示设置为无
问题描述
尝试单击不在另一个 iFrame 中的弹出 div 内的提交按钮子项时使用 Selenium Webdriver。父弹出 div 没有将属性“显示”设置回无。
该按钮分配了一个 ID,我正在使用 PageFactory 模型来发现元素。我尝试过使用 Actions()、JavaScriptExecutor() 类和普通的旧 .click() 函数,但是在 webdriver 执行操作/单击后,div 没有设置回“none”。
元素:
<button _ngcontent-c2="" id="policyEntry-clickYes" label="OK" pbutton=""
type="button" ng-reflect-label="OK" class="ui-button ui-widget ui-state-
default ui-corner-all ui-button-text-only"><span class="ui-button-text ui
clickable">OK</span></button>
@FindBy(id = "policyEntry-clickYes")
public WebElement confirmationOkBtn;
使用的操作:
Actions action = new Actions(driver);
action.moveToElement(PolicyEntryPage.confirmationOkBtn).click().perform();
Javascript执行器:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", PolicyEntryPage.confirmationOkBtn);
需要来回交换的DIV:
<div class="ui-dialog ui-confirmdialog ui-widget ui-widget-content ui-corner-all ui-shadow" ng-reflect-ng-class="[object Object]" style="display: none; width: 425px; visibility: visible; left: 627.5px; top: 394px; z-index: 1046; opacity: 0;"></div>
单击确认按钮后,弹出窗口周围的 div 应从 display:block 设置回 display:none。
注意:该功能手动工作。
解决方案
推荐阅读
- c++ - 检查方程组是否有解
- javascript - 如何使用 Typescript 使固定的 Promises 数组中的项目成为可选
- python - 在 Python 中使用 dat 文件
- android - 不显示多个项目类型的 Recyclerview
- python - 改进 EfficientNet 的结果
- c++ - 将函数作为参数传递 C++ 时出错
- typescript - 使用打字稿时对象中的未定义属性
- python - ShareDirectoryClient - 检查 Azure 文件共享目录是否存在于 python 中的方法
- c# - 如何在 C# 中将我的“1”更改为“句点”?
- xcode - 在 Xcode 12.5 中打开 Xcode 13.0 项目