/ / Грешка в скрипта на Python, използващ селективен драйвер на Windows - python-3.x, селен, селен-webdriver, селен-хромаривър

Грешка в скрипта на Python, използващ драйвер за селен на Windows - python-3.x, селен, селен-webdriver, селен-хромрайувър

Случай 1

Получавам под грешка, когато се опитвам да изпълня прост скрипт на питън с помощта на селемен драйвер.

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

class PythonOrgSearch(unittest.TestCase):

def setUp(self):
self.driver = webdriver.Chrome("C:Program Files (x86)GoogleChromeApplicationchrome.exe")

def test_search_in_python_org(self):
driver = self.driver
driver.get("http://www.python.org")
self.assertIn("Python", driver.title)
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source


def tearDown(self):
self.driver.close()

if __name__ == "__main__":
unittest.main()

Когато стартирам този скрипт, моят браузър се отваря и аз получавам по-малко изключение и програмата спира сама

selenium.common.exceptions.WebDriverException: Message: Service C:Program Files (x86)GoogleChromeApplicationchrome.exe unexpectedly exited. Status code was: 0

Забележка: Имам инсталиран хромиран драйвер,

C:Users<username>AppDataRoamingpip>pip install chromedriver
Requirement already satisfied: chromedriver in c:programdataanaconda3libsite
-packages

Отговори:

0 за отговор № 1

За да изпълните простия скрипт на Python с помощта на селемен драйвер, трябва да разгледате няколко неща, както следва:

  • Докато инициализирате webdriver например, не е нужно да минете chrome двойно местоположение. Но трябва да преминете местоположението на chromedriver двоичен, който може да бъде изтеглен от това link и се приема като аргумент, както следва:

    driver = webdriver.Chrome(executable_path="C:\path\to\chromedriver.exe")
    
  • Вместо да използвате driver.close() винаги използвайте driver.quit() което ще унищожи и двете webdriver и Web Browser например, както следва:

    self.driver.quit()