簡體   English   中英

彈出框-如何使用硒處理

[英]Pop up box - how to handle it in selenium

我嘗試單擊“確認注銷”按鈕已經很長時間了,我無法使其正常工作! 我進行了一項測試,該測試應該注銷您並在退出后立即返回首頁,但是我似乎無法單擊該按鈕。 當我嘗試使用切換到彈出框時

driver.switchTo().frame(0);

它可以運行並且不會給我任何錯誤...但是我無法找到它來確認注銷! 彈出框

這是彈出框的ID

這是退出按鈕標簽

我遇到了同樣的問題,並通過使用XPATH搜索框架解決了該問題。 也許這段代碼可以幫助您:

wd = your WebDriver; 
searchFrame= wd.findElement(By.xpath("whatever"));
wd.switchTo().frame(searchFrame);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("button2")));
wd.findElement(By.className("button2")).click();

您尚未提供iframe的HTML代碼,但是,鑒於我們所擁有的,我們可以找到包含所提供的注銷按鈕的iframe:

WebElement frame = driver.findElement("//iframe[.//a[contains(@id, 'confirmLogoutDialog')]]");
driver.switchTo.frame(frame);

然后,您可以通過鏈接文本找到您的按鈕,然后單擊它:

driver.findElement(By.linkText("Sign Out")).click();

您可能還需要等待它變得可點擊:

WebDriverWait wait = WebDriverWait(driver, 10);
WebElement logout = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Sign Out")));
logout.click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM