【问题标题】:How to handle .jnlp download file operation in Chrome 53 from Selenium Webdriver如何从 Selenium Webdriver 处理 Chrome 53 中的 .jnlp 下载文件操作
【发布时间】:2017-02-18 19:54:08
【问题描述】:

我正在尝试在 Selenium Webdrvier 3.0 + Java 1.8 + Chrome 53 中为需要在调用 get(url) 后下载并执行 .jnlp 文件的应用程序编写代码。我不确定这是否可以在 Selenium webdriver 中处理? 由于我是 selenium 新手,因此处理这些 Windows Pop 的任何帮助或指导都会对我很有帮助。 下面是一段代码:

if(browser.contains("CHROME") || browser.equalsIgnoreCase("chrome"))
{

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--test-type");
    options.addArguments("--disable-extensions");                       
    capability = DesiredCapabilities.chrome();
    capability.setBrowserName("chrome");
    capability.setCapability(ChromeOptions.CAPABILITY, options);
}
capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

browserDriver = new RemoteWebDriver(new URL(nodeAddress), capability);
browserDriver.manage().timeouts().pageLoadTimeout(1000, TimeUnit.SECONDS);          
browserDriver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);
browserDriver.manage().window().maximize();
browserDriver.get(applicationUrl);
logger.info("WebDriver successfully defined with Session ID:" +  browserDriver.getSessionId() + ", Page Title:" + browserDriver.getTitle() + " and URL: " + browserDriver.getCurrentUrl());

附图片:http://i.stack.imgur.com/esfpk.jpg

【问题讨论】:

  • 请提供您尝试过的代码和执行结果,包括任何错误信息等。同时提供页面链接和/或相关HTML。
  • 嗨@JeffC,我添加了一段代码,它调用应用程序的get(URL),然后它在Chrome中打开附加的图像弹出窗口,我不确定从Selenium处理它跨度>

标签: google-chrome selenium selenium-webdriver automation jnlp


【解决方案1】:

您尝试单击的按钮是 Chrome 用户界面的一部分,而不是网页的一部分,因此 Selenium 无法与之交互。从我所做的谷歌搜索来看,这显然是people have reported as a bug 的一个问题,并且没有一致的解决方法。

【讨论】:

  • 您好杰夫,感谢您的回复。我从您的回复中了解到,这不能作为 Selenium 的一部分进行处理,但是否有任何其他工具或 WA 可以处理这些按钮?
  • 你可以试试 Keep 的快捷键...也许是 ALT+K。如果这不起作用,您可以尝试 TAB 等,然后 ENTER 接受。除此之外,我不知道。您也许可以使用一些库并单击按钮,但我认为这些方法在正确定位单击等方面存在固有问题。
【解决方案2】:

我通过 Selenium + Python 找到了一种解决方法(但类似的事情在 Java 中也应该是可行的)。在 Python 中,我只需以编程方式在 Chrome UI 中的通知上单击以允许下载和安装 jnlp 文件(在 win32api 和 win32con 的帮助下——我只需要它用于 Win)。查看详情here 网络抓取现在对我来说更容易了:)

【讨论】:

    猜你喜欢
    • 2014-06-24
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多