在尝试单击不在另一个iFrame中的弹出div内的提交按钮子级时,使用Selenium Webdriver。父级弹出div的属性“ display”未设置回无。
为按钮分配了一个ID,我正在使用PageFactory模型发现元素。我已经尝试过使用Actions(),JavaScriptExecutor()类和普通的.click()函数,但是在由网络驱动程序执行操作/单击之后,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();
JavascriptExecutor:
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:none from display:block。
注意:该功能手动起作用。