Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
637 views
in Technique[技术] by (71.8m points)

python 3.x - selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages using ChromeDriver through Selenium

enter image description hereI am a newbie to selenium just trying to learn. When tried opening Chrome browser through ChromeDriver I got the below error:

Traceback (most recent call last):
  File "selenium_practise1_chrome.py", line 5, in <module>
    driver = webdriver.Chrome()
  File "C:UserskulokeshAppDataLocalProgramsPythonPython36libsite-packagesseleniumwebdriverchromewebdriver.py", line 75, in __init__
    desired_capabilities=desired_capabilities)
  File "C:UserskulokeshAppDataLocalProgramsPythonPython36libsite-packagesseleniumwebdriver
emotewebdriver.py", line 156, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:UserskulokeshAppDataLocalProgramsPythonPython36libsite-packagesseleniumwebdriver
emotewebdriver.py", line 251, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:UserskulokeshAppDataLocalProgramsPythonPython36libsite-packagesseleniumwebdriver
emotewebdriver.py", line 320, in execute
    self.error_handler.check_response(response)
  File "C:UserskulokeshAppDataLocalProgramsPythonPython36libsite-packagesseleniumwebdriver
emoteerrorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages
  (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=a lotows NT 6.1.7601 SP1 x86_64)

Tried alot of googling but nothing helped. Below is my code:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get('http://www.python.org')
print(driver.title)

This is not a code to deal with but I am confused what am I missing here. Also please suggest some good online resource to learn Python Selenium. My chrome opened was looking like below:

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

This error message...

selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages
  (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=a lotows NT 6.1.7601 SP1 x86_64)

...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser i.e. Chrome Browser session.


Solution

Add the argument --no-sandbox through ChromeOptions() to your existing code as follows:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--no-sandbox') # Bypass OS security model
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:pathochromedriver.exe')
driver.get('http://www.python.org')
print(driver.title)
driver.quit()

Additional considerations

  • Upgrade Selenium to current levels Version 3.14.0.
  • Upgrade ChromeDriver to current ChromeDriver v2.41 level.
  • Keep Chrome version between Chrome v66-68 levels. (as per ChromeDriver v2.41 release notes)
  • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
  • Execute your @Test.
  • Always invoke driver.quit() within tearDown(){} method to close & destroy the WebDriver and Web Client instances gracefully.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...