【发布时间】:2018-12-17 18:01:37
【问题描述】:
我正在使用无头 PhantomJS 浏览器使用带有 selenium 的 phantomjs 驱动程序来自动化应用程序。 (selenium java 3.5.2版和phantomjs.exe)
我有一个场景,我将填写表单并提交它,然后浏览器关闭,关闭浏览器后我重用驱动程序引用来获取 URL。当我使用带有 selenium 2.47.0 的 firefox 驱动程序时,它运行良好。
现在我切换到 selenium phontamjsdriver 和 phantombrowser。在这里,当我调用 driver.get(url); 浏览器关闭后,它会抛出 nosuchwindowexception 表示窗口已关闭或处于非活动状态。但是,相同的代码正在使用 firefox 驱动程序
示例:
driver.get(url);// first time works
submitForm(driver);//browser window gets closed.
driver.get(url);
最后一行抛出异常为:
nosuchwindowexception(selenium java with 3.5.2 version and phantomjs.exe).
但与 selenium 2.4.7 的 firefoxbrowser 配合使用效果很好。
【问题讨论】:
-
你是如何关闭浏览器的,
driver.quit()或driver.close()并且你还在使用无头 FF 吗? -
我没有关闭带有幻像驱动程序的浏览器。它是应用程序的行为,一旦提交表单,浏览器窗口就会自动关闭。它在代码中以编程方式关闭
-
AFAIU ,您在应用程序中打开一个页面,然后单击某处并打开一个带有表单的新窗口,然后您填写表单并自行关闭,然后您使用 driver.get('some url') 导航到某个 URL,对吗?
-
我在应用程序中打开一页,然后单击链接。它在同一个窗口中打开表格,然后我填写表格,然后它被它自己关闭了。然后我使用 driver.get("url") 打开具有相同驱动程序实例的浏览器。然后它抛出 nosuch 窗口异常。但相同的代码适用于 Firefox 浏览器。看起来幻象浏览器和firefox的行为不一样
-
你在使用显式等待吗?你也可以分享你的代码吗?我需要先查看代码,然后才能得出任何结论。
标签: java selenium selenium-webdriver webdriver phantomjs