【问题标题】:Selenium download button indicates a zip file download by browser in JavaSelenium 下载按钮表示通过 Java 浏览器下载的 zip 文件
【发布时间】:2018-06-04 13:45:05
【问题描述】:

我在网页中有一个没有 href 链接的下载按钮。 我用 findExtendedelement 找到它并单击它。 单击硬盘驱动器上的 zip 文件下载后(我不知道在哪里,应该没关系) 我想抓住这个下载的 zip 并将其放入我的项目中,例如 build/reports/tests/temp 文件夹。

硒可以吗?

更新

HTML 看起来: https://i.stack.imgur.com/YnhlH.jpg

我试过这段代码:

@Test
public void userCanDownloadFile() throws FileNotFoundException, IOException
{
 // Folder to store downloads and screenshots to.
 reportsFolder = "./src/test/profiles/chrome/downloads/";

 open("http://chromedriver.storage.googleapis.com/index.html?path=2.16/");

 // Download files
 $("a[href='/2.16/chromedriver_win32.zip']").download();
    $(By.xpath(".//a[@href='/2.16/chromedriver_mac32.zip']")).download();

    // Count files in folder, assert 2
    int downloadsCount = new File(reportsFolder+"2.16").listFiles().length;
    assertEquals("Should be 2 files but founded " + downloadsCount,  
          downloadsCount, 2); 

    // Clean after test
    FileUtils.deleteDirectory(new File(reportsFolder+"2.16"));
}

结果: java.lang.IllegalArgumentException:该元素没有 href 属性:

代码来自: http://selenide-recipes.blogspot.com/2015/08/how-to-download-file-with-selenide.html

我正在寻找类似的东西,我可以在我的项目中处理下载的文件。 (在报告文件夹路径中) 不幸的是,这个解决方案不起作用,因为 ExtendedElement (findExtendedElement("span", "class", "download_0") 没有 "a href" 标记)

谢谢

【问题讨论】:

    标签: java file selenium download selenide


    【解决方案1】:

    这个 xpath:"//span[contains(@class,'download_o')]" 应该可以工作

    【讨论】:

    • 相同结果:( java.lang.IllegalArgumentException: 该元素没有 href 属性:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多