最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java+Selenium實現(xiàn)文件上傳下載功能詳解

 更新時間:2023年01月09日 09:07:22   作者:洛陽泰山  
這篇文章主要介紹了java代碼如何利用selenium操作瀏覽器上傳和下載文件功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下

簡介

本文主要講解java代碼如何利用selenium操作瀏覽器上傳和下載文件代碼教程。

上傳文件

常見的 web 頁面的上傳,一般使用 input 標(biāo)簽或是插件(JavaScript、Ajax),對于 input 標(biāo)簽的上傳,可以直接使用 sendKeys(路徑) 來進行上傳。

先寫一個測試用的頁面。

代碼如下:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
 
<body>
    <input type="file" name="">
</body>
</html>

下面通過 xpath 定位 input 標(biāo)簽,然后使用 sendKeys(filePath) 上傳文件。

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
 
import java.awt.*;
import java.io.IOException;
 
public class SeleniumDemo {
    private final static String webDriver = "webdriver.chrome.driver";
    private final static String webDriverPath ="E:\\chromedriver\\chromedriver.exe";
 
 
    public static void main(String[] args) throws InterruptedException, IOException, AWTException {
        System.setProperty(webDriver, webDriverPath);
        WebDriver driver= new ChromeDriver();
        driver.get("file:///C:/Users/liuya/Desktop/test.html");
        Thread.sleep(2000);
        String filePath="C:\\Users\\liuya\\Desktop\\doc\\tarzan.txt";
        driver.findElement(By.xpath("http://*[@name='upload']")).sendKeys(filePath);
 
    }
 
 
}

下載文件

Chrome瀏覽器

Firefox 瀏覽器要想實現(xiàn)文件下載,需要通過 add_experimental_option 添加 prefs 參數(shù)。

download.default_directory:設(shè)置下載路徑。

profile.default_content_settings.popups:0 禁止彈出窗口。

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
 
import java.awt.*;
import java.io.IOException;
 
public class SeleniumDemo {
    private final static String webDriver = "webdriver.chrome.driver";
    private final static String webDriverPath ="E:\\chromedriver\\chromedriver.exe";
 
 
    public static void main(String[] args) throws InterruptedException, IOException, AWTException {
        System.setProperty(webDriver, webDriverPath);
        WebDriver driver= new ChromeDriver();
        driver.get("http://pic.sogou.com/d?query=%E5%B0%8F%E7%8B%97&forbidqc=&entityid=&preQuery=&rawQuery=&queryList=&st=&did=45");
        Thread.sleep(2000);
        driver.findElement(By.className("download")).click();
    }
 
 
}

當(dāng)你彈出像下面的頁面 “您的連接不是私密連接” 時,可以直接鍵盤輸入 “thisisunsafe” 直接訪問鏈接。那么這個鍵盤輸入字符串的操作就是之間講到的 sendKeys,但由于該標(biāo)簽頁是新打開的,所以要通過 switchTo().window() 將窗口切換到最新的標(biāo)簽頁。

 //操作最新窗口
        driver.switchTo().window(driver.getWindowHandles().stream().reduce((first, second) -> second).orElse(null));
        driver.findElement(By.xpath("./html")).sendKeys("thisisunsafe");

到此這篇關(guān)于Java+Selenium實現(xiàn)文件上傳下載功能詳解的文章就介紹到這了,更多相關(guān)Java Selenium文件上傳下載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

社旗县| 大连市| 大新县| 瓦房店市| 钦州市| 宁波市| 临西县| 宁强县| 思南县| 呼玛县| 海林市| 岳阳市| 舞钢市| 乐至县| 资阳市| 黄陵县| 邯郸县| 庄浪县| 建德市| 西乌珠穆沁旗| 孙吴县| 新晃| 翁牛特旗| 达州市| 许昌县| 壶关县| 建昌县| 项城市| 射洪县| 永济市| 黑水县| 都匀市| 土默特右旗| 改则县| 海伦市| 玛多县| 二连浩特市| 隆尧县| 台北市| 湘西| 志丹县|