Ответ 1
Необходимо указать путь к исполняемому файлу, а не путь к каталогу, который содержит исполняемый файл.
driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")
У меня проблемы с использованием драйвера Chrome для Selenium. Я скачал и сохранил хроматический драйвер в C:\Chrome:
driver = webdriver.Chrome(executable_path="C:/Chrome/")
Использование этого дает мне следующую ошибку:
Traceback (most recent call last):
File "C:\Python33\lib\subprocess.py", line 1105, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\selenium\webdriver\chrome\service.py", line 63, in start
self.service_args, env=env, stdout=PIPE, stderr=PIPE)
File "C:\Python33\lib\subprocess.py", line 817, in __init__
restore_signals, start_new_session)
File "C:\Python33\lib\subprocess.py", line 1111, in _execute_child
raise WindowsError(*e.args)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Wilson/Dropbox/xxx.py", line 71, in <module>
driver = webdriver.Chrome(executable_path="C:/Chrome/")
File "C:\Python33\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 59, in __init__
self.service.start()
File "C:\Python33\lib\site-packages\selenium\webdriver\chrome\service.py", line 68, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://chromedriver.storage.googleapis.com/index.html
Любая помощь будет оценена.
Необходимо указать путь к исполняемому файлу, а не путь к каталогу, который содержит исполняемый файл.
driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")
Для Linux
1.Убедитесь, что у вас установлена последняя версия chrome browser-> "chromium-browser -version"
2.Если нет, установите последнюю версию chrome "sudo apt-get install chromium-browser"
3. Загрузите соответствующую версию драйвера Chrome из http://chromedriver.storage.googleapis.com/index.html
4. Разархивируйте chromedriver.zip
5. Переместите файл в каталог /usr/bin Хромированный драйвер sudo mv/usr/bin
6. Перейдите в каталог /usr/bin, и вам нужно будет выполнить что-то вроде "chmod a + x chromedriver", чтобы пометить его как исполняемый.
7. наконец, вы можете выполнить код.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
display.stop()
Для окон
Загрузите веб-драйвер с:
http://chromedriver.storage.googleapis.com/2.9/chromedriver_win32.zip
Вставьте файл chromedriver.exe в папку "C:\Python27\Scripts".
Это должно работать сейчас.
from selenium import webdriver
driver = webdriver.Chrome()
В дополнение к выбранному ответу (путь к стилю Windows):
driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")
Обратите внимание на r перед "C:\Chrome\chromedriver.exe", это делает эту строку необработанной.
Если вы не хотите использовать необработанную строку, вы должны избегать косой черты как \\, это станет следующим:
driver = webdriver.Chrome(executable_path="C:\\Chrome\\chromedriver.exe")
Или вы можете заменить\с помощью /, вы получите следующее:
driver = webdriver.Chrome(executable_path="C:/Chrome/chromedriver.exe")
Когда вы вызываете селен или любую библиотеку автоматизации тестирования, вам нужно добавить этот код здесь в Python
, но это можно сделать и в Java
и Ruby
.
options = webdriver.ChromeOptions()
options.binary_location = '/usr/bin/chromium-browser'
#All the arguments added for chromium to work on selenium
options.add_argument("--no-sandbox") #This make Chromium reachable
options.add_argument("--no-default-browser-check") #Overrides default choices
options.add_argument("--no-first-run")
options.add_argument("--disable-default-apps")
driver = webdriver.Chrome('/home/travis/virtualenv/python2.7.9/chromedriver',chrome_options=options)
Для Debian/Ubuntu - это работает:
установить Google Chrome для Debian/Ubuntu:
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-
stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
sudo apt-get install -f
Установите ChromeDriver:
wget -N http://chromedriver.storage.googleapis.com/2.26/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
Установить Selenium:
pip install -U selenium
Селен в Python:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.google.co.in/')
import os
from selenium import webdriver
chromedriver = "C://chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver =webdriver.Chrome(chromedriver)
Все, что вам нужно сделать, это вставить Chromedriver.exe в папку python36-32. И вы можете использовать его. Просто:
from selenium import webdriver
driver = webdriver.Chrome()
Не нужно вставлять путь снова и снова.
ИЛИ
Вы можете использовать:
driver = webdriver.Chrome(executable_path="C:/Chrome/chromedriver.exe")
import os
from selenium import webdriver
chromedriver = "C:\Drivers\chromedriver_win32\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver =webdriver.Chrome(chromedriver)
driver.get("https://www.facebook.com")
print(driver.title)
driver.close()
Просто поместите файл chromedriver.exe в папку python (в моем случае: C:\Python27) и используйте приведенный ниже код, который будет работать для вас, ребята
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("URL")