是一个初学者,试图获取我的系统的地理位置
已授予/ usr / bin上存在的chromedriver.exe的所有必需权限
已安装所需的chromedriver
操作系统:ubuntu 18.04 谷歌浏览器75.0.3770.142
感谢您的帮助
def getLocation():
options = Options()
options.add_argument("--use-fake-ui-for-media-stream")
timeout = 20
driver = webdriver.Chrome(executable_path=r'/usr/bin/chromedriver.exe', chrome_options=options)
driver.get("https://mycurrentlocation.net/")
wait = WebDriverWait(driver, timeout)
longitude = driver.find_elements_by_xpath('//*[@id="longitude"]')
longitude = [x.text for x in longitude]
longitude = str(longitude[0])
latitude = driver.find_elements_by_xpath('//*[@id="latitude"]')
latitude = [x.text for x in latitude]
latitude = str(latitude[0])
driver.quit()
return (latitude,longitude)
print(getLocation())
回溯(最近通话最近一次):
文件“ loca.py”,第24行,在 打印(getLocation())
getLocation中的文件“ loca.py”,第12行 driver = webdriver.Chrome(executable_path = r'/ usr / bin / chromedriver.exe',chrome_options = options)
init 中的文件“ /usr/local/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py”,第81行 wanted_capabilities = desired_capabilities)
文件“ /usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py”,第157行, init self.start_session(功能,浏览器配置文件)
文件“ /usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py”,第252行,位于start_session中 响应= self.execute(Command.NEW_SESSION,参数)
在执行中的文件“ /usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py”,第321行 self.error_handler.check_response(response)
文件“ /usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py”,第242行,在check_response中 引发exception_class(消息,屏幕,堆栈跟踪)
selenium.common.exceptions.WebDriverException:消息:未知错误:Chrome无法启动:异常退出
(未知错误:DevToolsActivePort文件不存在)
(从chrome位置/ usr / bin / google-chrome开始的进程不再运行,因此ChromeDriver认为Chrome崩溃了。)
答案 0 :(得分:0)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
您是否使用正确的 linux 二进制文件?尝试从以下位置下载正确的二进制文件:http://chromedriver.chromium.org/downloads或从chromedriver路径中删除“ .exe”,这可能是一个错误,因为您使用的是ubuntu而非Windows。可能就这么简单。