我已经尝试了2个多小时才能从Visual Studio终端运行我的刮板。起初我以为问题是我的chromedriver / geckodriver不是由正确的用户拥有的/没有正确的读写权限,所以我检查了一下。我的virtualenv也归用户所有并具有适当的权利。当我从控制台运行脚本时,它可以工作(这意味着首先激活virtualenv
,然后以用户身份运行脚本。因此,这不是chromedriver问题(甚至不是路径问题)。当我尝试从Visual Studio Code终端运行它时,它不起作用,并且我不断得到:
chromedriver
的此错误:
paras = self.driver.find_elements(By.XPATH, "//p")
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 1007, in find_elements
'value': value})['value'] or []
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable
(Session info: chrome=77.0.3865.120)
以及firefox
的此错误:
return webdriver.Firefox()
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/mike/Documents/Envs/Scrapers/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
我在项目的python
文件中提供了settings.json
的适当路径,例如:
{
"python.pythonPath": "/home/mike/Documents/Envs/Scrapers/bin/python3"
}
尝试使其正常运行,如果这样可以解决打开新显示器的问题。
在VS Code终端中粘贴以下内容,然后重试
export DISPLAY=":0"