Как запустить Chrome Browser через Chromedriver и Selenium - PullRequest
0 голосов
/ 03 мая 2018

Внезапно я получаю сообщения об ошибках с селеном и хромодрайвером. Я ничего не изменил, но я получил эти сообщения об ошибках. Сценарий буквально работал несколько часов назад, и теперь без каких-либо настроек он не работает.

 traceback (most recent call last):
  File "email.py", line 3, in <module>
    from selenium import webdriver
  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\__init__.py", line 18, in <module>
    from .firefox.webdriver import WebDriver as Firefox  # noqa
  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 20, in <module>
    import http.client as http_client
  File "C:\ProgramData\Anaconda3\lib\http\client.py", line 71, in <module>
    import email.parser
  File "C:\Users\Doe Labs\Desktop\Austin\Scripts\email.py", line 12, in <module>
    options = webdriver.ChromeOptions()

Вот мой соответствующий код:

import pyautogui
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait

caps = DesiredCapabilities().CHROME
#caps["pageLoadStrategy"] = "eager"

options = webdriver.ChromeOptions() 
options.add_argument(r'load-extension=C:\Users\Doe Labs\Desktop\Austin\sales_prospecting\facebookpixelhelper')
#options.add_argument('start-fullscreen')
options.add_argument('disable-infobars')
driver=webdriver.Chrome(desired_capabilities = caps, executable_path=r'C:\Users\Doe Labs\Desktop\Austin\sales_prospecting\chromedriver', chrome_options=options)

driver.get('http://www.doelabs.com/')
driver.maximize_window()

Еще более странным является то, что при открытии нового терминала, загрузке Python и вводе с веб-драйвера импорта селена я не получаю никаких ошибок. Но когда я перехожу к папке, в которой находится скрипт, и загружаю python и набираю текст из веб-драйвера импорта селена, я получаю сообщение об ошибке, которое появляется выше. Я надеюсь, что это может дать некоторое представление о моем нынешнем затруднительном положении.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Несколько слов о решении:

  • email является зарезервированным словом / ключевое слово в Python Language , избегайте использования слова email в пользовательское имя файла / методы / классы.
  • pageLoadStrategy как eager еще не реализовано в ChromeDriver , используйте none или normal вместо этого согласно вашему требованию.
  • Чтобы максимизировать Окно браузера Chrome вместо maximize_window(), используйте аргумент максимизированный старт * от 1034 * до ChromeOptions()
  • Чтобы загрузить расширение, используйте ChromeOptions следующим образом:

    options.addExtensions(new File("/path/to/extension.crx"));
    

Вот четыре способа инициализации Браузер Chrome - ChromeDriver :

  • Метод ванили :

    from selenium import webdriver
    
    driver = webdriver.Firefox(r'C:\path\to\chromedriver.exe')
    driver.get('http://www.doelabs.com/')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    
  • Аргументы как ChromeOptions :

    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.addExtensions(new File("C:\Users\Doe Labs\Desktop\Austin\sales_prospecting\facebookpixelhelper.crx"));
    options.add_argument('start-maximized')
    options.add_argument('disable-infobars')
    driver=webdriver.Chrome(chrome_options=options, executable_path=r'C:\path\to\chromedriver.exe')
    driver.get('http://www.doelabs.com/')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    
  • Возможности как Желаемые возможности :

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    caps = DesiredCapabilities().CHROME.copy()
    caps["pageLoadStrategy"] = "normal"
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', desired_capabilities=caps)
    driver.get('http://www.doelabs.com/')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    
  • Аргументы как ChromeOptions и Возможности как Желаемые возможности :

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    caps = DesiredCapabilities().CHROME.copy()
    caps["pageLoadStrategy"] = "normal"
    
    options = webdriver.ChromeOptions() 
    options.addExtensions(new File("C:\Users\Doe Labs\Desktop\Austin\sales_prospecting\facebookpixelhelper.crx"));
    options.add_argument('start-maximized')
    options.add_argument('disable-infobars')
    driver=webdriver.Chrome(chrome_options=options, executable_path=r'C:\path\to\chromedriver.exe', desired_capabilities=caps)
    driver.get('http://www.doelabs.com/')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    
0 голосов
/ 03 мая 2018

Возможно, вы захотите изменить

executable_path=r'C:\Users\Doe Labs\Desktop\Austin\sales_prospecting\chromedriver',

до

executable_path=r'C:\Users\Doe Labs\Desktop\Austin\sales_prospecting\chromedriver.exe',

Вы, похоже, пропустили расширение .exe исполняемого файла.

...