Selenium 如何获取 alter 里面的字符串?

· 2020年07月26日 · 最后由 树叶 回复于 2024年11月12日 · 2796 次阅读

有下面一个链接:
http://www.yizhike.com.cn/chou/a.html
打开页面点击 submit ,会有一个弹窗,请教社区大神,如何获取弹窗里面的 alert 的内容?

下面是我的代码,不能工作:

public static void main(String[] args) throws Exception{
     System.setProperty("webdriver.chrome.driver","D:\\auto\\chromedriver.exe");
     WebDriver driver = new ChromeDriver();
     driver.get("http://www.yizhike.com.cn/chou/a.html");
     String current = driver.getWindowHandle();
     driver.findElement(By.id("submit")).click();

     Set<String> handlers = driver.getWindowHandles();
     for (String s : handlers){
         if (!s.equals(current)){
             driver = driver.switchTo().window(s);
             String aa = driver.switchTo().alert().getText(); //这里会长时间等待,最后还是没获取到内容
             System.out.println(aa);
         }
     }
 }
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 8 条回复 时间 点赞

import selenium.webdriver.common.alert 里面有 Alert 类 里面好像有个 text 方法获取。

😂 chrome 的没获取到,同样的方式使用 ie 获取到了

#4 · 2020年07月28日 Author

你这个思路可以啊哈哈

确实换了 IE 可以,Chrome 和 FireFox 不行 这是为啥啊😂 求大佬解答

回复

找到一个别的方法:
模拟键盘输入 enter 后获取到模态窗口的链接,然后单独访问,再获取页面的弹窗
参考:https://blog.csdn.net/weixin_30478923/article/details/97745141

#7 · 2020年07月28日 Author

嗯嗯,这种思路也可以,我就是好奇为什么直接获取不到

4 年前的帖子,问题竟然被我碰到了。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册