亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Selenium 無法連接到 Mac 上的 ChromeDriver 75

Selenium 無法連接到 Mac 上的 ChromeDriver 75

尚方寶劍之說 2023-02-23 10:34:18
我們正在將以前工作的Selenium/Java/Chrome 測試配置升級到更新版本:ChromeDriver           2.35 -> 75.0.3770.90Selenium Java          3.14 -> 3.141.59macOS                  10.14.5       (unchanged)Java                   11.0.3        (unchanged)Chrome                 75.0.3770.100 (unchanged)然而,當嘗試運行 Selenium 測試時,我們看到:java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:28719完整的堆棧/日志:Starting ChromeDriver 75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs/branch-heads/3770@{#1003}) on port 28719Only local connections are allowed.Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.Jun 26, 2019 10:45:03 AM org.openqa.selenium.remote.ProtocolHandshake createSessionINFO: Detected dialect: W3C...org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:28719Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'System info: host: 'Craigs-iMac.local', ip: '192.168.1.131', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.5', java.version: '11.0.3'Driver info: driver.version: RemoteWebDriver    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:323)    at org.openqa.selenium.remote.RemoteWebDriver.findElementByTagName(RemoteWebDriver.java:396)    at org.openqa.selenium.By$ByTagName.findElement(By.java:320)我在這方面找到的所有資源都建議使用--whitelisted-ips='',這沒有效果,或者與不兼容的Selenium/Chrome/ChromeDriver 版本有關,我認為這不是這里的問題。更新:我可以確認驅動程序已啟動,并且正在偵聽端口28719,但隨后會在啟動和實際測試執行之間的某個時刻停止。我沒有發現與關機相關的錯誤/日志記錄。更新 2:我已經調試過了,發送到遠程驅動程序的初始命令成功了(setWindowSize()),但是這一行導致驅動程序靜默死去:((WebStorage) driver).getLocalStorage().setItem("token", token);
查看完整描述

2 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

似乎較新版本的 ChromeDriver(或 Selenium?我不知道。)啟動 Chrome,初始頁面位于 URL 處data:。


通過在實例化之前添加這些系統屬性ChromeDriver:


System.setProperty("webdriver.chrome.logfile", "/Users/craig/chromedriver.log");

System.setProperty("webdriver.chrome.verboseLogging", "true");

在司機退出之前,我能夠收集到以下信息:


[1561563455.971][INFO]: [01517094c63c0dd609c06a5622afe6b1] RESPONSE ExecuteScript ERROR <unknown>: Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.

  (Session info: headless chrome=75.0.3770.100)

因此,通過在我的測試實用程序代碼中更改此調用:


((WebStorage) driver).getLocalStorage().setItem("token", token);

對此:


if (driver.getCurrentUrl().startsWith("data:")) {

    // Driver will quit if we try to access localStorage without a page load

    driver.get("/");

}

((WebStorage) driver).getLocalStorage().setItem("token", token);

現在一切都很好。https://i.imgur.com/edBQBeJ.gif


查看完整回答
反對 回復 2023-02-23
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

編輯:

LocalStorage 僅在啟動任何網站后可用。即在 driver.get 之后

https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/html5/LocalStorage.html


查看完整回答
反對 回復 2023-02-23
  • 2 回答
  • 0 關注
  • 252 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號