2017-03-15 13 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

相关问题