在 Python 中通过 chromedriver 设置 chrome 浏览器二进制文件
- 2024-10-28 08:37:00
- admin 原创
- 49
问题描述:
我使用了 Selenium 和 Python Chrome webdriver。在我的代码中我使用了:
driver = webdriver.Chrome(executable_path = PATH_TO_WEBDRIVER)
将 webdriver 指向 webdriver 可执行文件。有没有办法将 webdriver 指向 Chrome 浏览器二进制文件?
在https://sites.google.com/a/chromium.org/chromedriver/capabilities中他们有以下内容(我认为这是我正在寻找的):
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
有人有 Python 的示例吗?
解决方案 1:
您可以使用 Python 通过ChromeDriver设置 Chrome 浏览器二进制位置,方法如下:
使用选项
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
driver.get('http://google.com/')
使用 DesiredCapabilities
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
cap = DesiredCapabilities.CHROME
cap = {'binary_location': "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"}
driver = webdriver.Chrome(desired_capabilities=cap, executable_path="C:\\Utility\\BrowserDrivers\\chromedriver.exe")
driver.get('http://google.com/')
使用 Chrome 作为服务
from selenium import webdriver
import selenium.webdriver.chrome.service as service
service = service.Service('C:\\Utility\\BrowserDrivers\\chromedriver.exe')
service.start()
capabilities = {'chrome.binary': "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"}
driver = webdriver.Remote(service.service_url, capabilities)
driver.get('http://www.google.com')
解决方案 2:
非常感谢,我为此苦苦挣扎了 2.5 个小时,因为我不知道如何在 Python 中设置 Chrome 可执行文件路径。现在可以正常工作了
options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
解决方案 3:
有没有办法将 webdriver 指向 Chrome 浏览器二进制文件?
正如其他人已经指出的那样,使用binary_location
。但是,Chrome 的位置会根据平台而移动。Fedora 和 Ubuntu 使用不同的位置。因此,您可能希望使用类似以下内容的内容:
def get_chrome():
if os.path.isfile('/usr/bin/chromium-browser'):
return '/usr/bin/chromium-browser'
elif os.path.isfile('/usr/bin/chromium'):
return '/usr/bin/chromium'
elif os.path.isfile('/usr/bin/chrome'):
return '/usr/bin/chrome'
elif os.path.isfile('/usr/bin/google-chrome'):
return '/usr/bin/google-chrome'
else:
return None
进而:
if version.parse(selenium.__version__) >= version.parse("3.0"):
opts = Options()
opts.binary_location = get_chrome()
opts.add_argument('--headless')
opts.add_argument('--no-sandbox')
opts.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(chrome_options=opts)
driver.maximize_window()
else:
opts = Options()
opts.headless = True
opts.binary_location = get_chrome()
driver = webdriver.Chrome(chrome_options=opts)
driver.maximize_window()
agent = driver.execute_script('return navigator.userAgent')
解决方案 4:
首先,如果您想使用 chrome,那么您需要从以下 URL 下载它的二进制文件:-
https://sites.google.com/a/chromium.org/chromedriver/
现在您需要将此驱动程序路径传递给 selenium webdriver。
如果你使用python,代码应该如下所示:-
driver = webdriver.Chrome('C:Users
ameDownloadschromedriver_win32 (3)chromedriver.exe')
driver.implicitly_wait(30) # seconds
driver.get('https://www.google.co.in/')
希望它能帮助你:)
相关推荐
热门文章
项目管理软件有哪些?
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
热门标签
云禅道AD