【发布时间】:2019-03-20 04:58:16
【问题描述】:
如何从离开站点警报中获取文本?
我尝试使用 driver.switchTo().alert() 切换到它,但我得到空白文本。
请在这方面帮助我。
下面是我的代码::
public class TestMessage {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "F://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_ev_onbeforeunload");
driver.switchTo().frame("iframeResult");
driver.findElement(By.linkText("Click here to go to w3schools.com")).click();
System.out.println(driver.switchTo().alert().getText());
}
}
【问题讨论】:
-
可能是因为此警告文本是由浏览器生成的,而不是由网站提供的。如果您更改浏览器,则会出现警报,但文本可能会更改。浏览器再次生成的警报“阻止此页面创建其他对话框”中也存在额外文本的情况。不确定 selenium 是否支持这种情况,因为我没有文档说明。
-
你可以不使用
driver.switchTo().frame("iframeResult");就试试吧,它会起作用吗? -
@akshay patil,链接文本在框架内可用,要获得警报,我需要单击该链接
-
要点击生成警报的特定链接,
driver.switchTo().frame("iframeResult");是必需的,因为它在 iframe 下 -
@BlueStar 可能与How to get text from the alert box重复