Случай 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()