2017-03-15 10 views
1

我需要通過將它們放置在Python可以找到它們的位置來使三個exe文件對Python可見。將文件放在與.py文件相同的文件夾中並沒有解決問題Python/Webdriver:當我沒有管理員權限時,如何將瀏覽器二進制文件添加到路徑中?

我在我的筆記本電腦上沒有管理權限,我無法更改PATH(Windows 10計算機)我也不能將文件放在文件夾中PATH變量指向

我的選擇是什麼讓Python找到文件?

+0

您不應該明確需要將它們添加到路徑;您可以將位置添加到驅動程序構造函數中,即 'driver = ChromeDriver(「C:\\ location \\ chromedriver.exe」)' 因此您可以將它們理論上放在任何您有權限的位置。 – Dillanm

+1

謝謝我剛開始閱讀這篇文檔,但是我剛剛閱讀Git的安裝說明你的答案讓我走上了正確的道路 – MiniMe

回答

0

在你的答案上面,它看起來就像你混了2個解決方案;

解決方案1:

chromedriver = "C:\\Utils\\WebDrivers\\chromedriver.exe" 

driver = webdriver.Chrome(chromedriver) 

browser.get('http://www.yahoo.com') 

解決方案2:

chromedriver = "C:\\Utils\\WebDrivers\\chromedriver.exe" 

os.environ["webdriver.chrome.driver"] = chromedriver 
browser = webdriver.Chrome() 
browser.get('http://www.yahoo.com') 

在你的解決方案你已經呼籲司機構造的兩倍。

解決方案1將根據您在構造函數中明確提供的可執行位置創建驅動程序。

解決方案2將根據可執行文件的環境變量創建驅動程序。

在你的回答中,會發生什麼是你會創建2個Chrome實例,兩者都是有效的,不會拋出錯誤,但它只是混亂。你應該只調用一次驅動構造函數。

+0

你是對的..它只是一個複製和粘貼沒有思想或閱讀太多。我只是想確保這個想法有效。我應該 – MiniMe

+0

這解釋了爲什麼我有兩個瀏覽器窗口。是可以使用這個無頭的?我正在尋找一種方法來取代機械化,我需要使用一個JavaScript網站和機械化不支持 – MiniMe

+0

我想你可以使用PhantomJS網絡驅動程序來做無頭測試,但我沒有親自嘗試過 – Dillanm

0

確定這並獲得成功

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import os 

chromedriver = "C:\\Utils\\WebDrivers\\chromedriver.exe" 

os.environ["webdriver.chrome.driver"] = chromedriver 
driver = webdriver.Chrome(chromedriver) 
browser = webdriver.Chrome() 
browser.get('http://www.yahoo.com') 
+0

這不完全正確,環境變量部分是正確的,但你應該不需要兩次調用Chrome構造函數;你混淆了2個解決方案。我會把我的筆記放在答案中,這樣會更容易。 – Dillanm

相關問題