一.瀏覽網頁自動翻譯
設置->擴展->獲取Microsoft Edge擴展->搜索“沉浸式翻譯”->獲取 。
提示:如果采用其他的翻譯擴展沒找自動翻譯功能,所以這里選擇“沉浸式翻譯”
二.基于Java WebElement時自動翻譯
Java關鍵代碼:
?提示:在運行代碼前注意結束進程!否則會報錯!?Could not start a new session. Response code 500. Message: session not created: probably user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
private static WebDriver driver = null;public static void main(String[] args) {String url = "https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/?form=MA13LH";try {initEdge("2");getDriver().get(url);Thread.sleep(100000);} catch (Exception e) {e.printStackTrace();} finally {driver.quit();}}
public static void initEdge(String type) {System.setProperty("webdriver.edge.driver", "D:/edgedriver-win64/msedgedriver.exe");EdgeOptions options = new EdgeOptions();options.setBinary("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");// 指定用戶數據目錄(復用本地瀏覽器的緩存、Cookie、擴展等)options.addArguments("--user-data-dir=C:\\Users\\Admin\\AppData\\Local\\Microsoft\\Edge\\User Data");// 1.基本反檢測配置options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));options.setExperimentalOption("useAutomationExtension", false);// 2. 禁用自動化控制標志options.addArguments("--disable-blink-features=AutomationControlled");// 3. 禁用 Infobars(可能暴露自動化)options.addArguments("--disable-infobars");// 4. 禁用擴展和插件options.addArguments("--disable-extensions");options.addArguments("--disable-dev-shm-usage");options.addArguments("--no-sandbox");// 5. 禁用 GPU 加速(某些網站會檢測)options.addArguments("--disable-gpu");// 6. 設置合法的 User-Agent(帶 Edge 標識)options.addArguments("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0");// 7. 無頭模式(可選)if ("1".equals(type)) {options.addArguments("--headless=new"); // Edge 115+ 使用 headless=new}// 8. 禁用 WebDriver 特征(關鍵!)options.addArguments("--disable-web-security");options.addArguments("--allow-running-insecure-content");// 9. 禁用通知彈窗options.addArguments("--disable-notifications");// 10. 禁用密碼保存提示options.addArguments("--disable-save-password-prompt");// 11. 禁用同源策略(可選,可能影響登錄)// options.addArguments("--disable-site-isolation-trials");// 設置代理(例如:123.123.123.123:8080)Proxy proxy = new Proxy();proxy.setHttpProxy("123.123.123.123:8080");options.setCapability("proxy", proxy);driver = new EdgeDriver(options);// 12. 進一步隱藏 WebDriver 特征(通過 JavaScript)((JavascriptExecutor) driver).executeScript("Object.defineProperty(navigator, 'webdriver', {get: () => false});" +"window.outerWidth = window.innerWidth;" +"window.outerHeight = window.innerHeight;");}public static WebDriver getDriver() {return driver;}/*** 關閉工具進程*/public static void quit() {driver.quit();}