Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用virtualenv从Visual Studio代码终端运行selenium_Selenium_Visual Studio Code_Selenium Chromedriver_Virtualenv_Geckodriver - Fatal编程技术网

使用virtualenv从Visual Studio代码终端运行selenium

使用virtualenv从Visual Studio代码终端运行selenium,selenium,visual-studio-code,selenium-chromedriver,virtualenv,geckodriver,Selenium,Visual Studio Code,Selenium Chromedriver,Virtualenv,Geckodriver,我已经尝试了两个多小时从VisualStudio终端运行我的scraper。起初我认为问题在于我的chromedriver/geckodriver不是正确的用户所有/没有正确的rw权限,所以我检查了这个。此外,我的virtualenv归用户所有,并拥有相应的权限。 当我从控制台运行脚本时,它可以工作(这意味着首先激活virtualenv,然后以用户身份运行脚本。因此,这不是chromedriver问题(甚至不是路径问题)。 当我尝试从Visual Studio代码终端运行它时,它不起作用,我不断

我已经尝试了两个多小时从VisualStudio终端运行我的scraper。起初我认为问题在于我的chromedriver/geckodriver不是正确的用户所有/没有正确的rw权限,所以我检查了这个。此外,我的virtualenv归用户所有,并拥有相应的权限。 当我从控制台运行脚本时,它可以工作(这意味着首先激活
virtualenv
,然后以用户身份运行脚本。因此,这不是chromedriver问题(甚至不是路径问题)。 当我尝试从Visual Studio代码终端运行它时,它不起作用,我不断得到:

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
我已经在我的项目的
settings.json
文件中为
python
提供了合适的路径,如下所示:

{
    "python.pythonPath": "/home/mike/Documents/Envs/Scrapers/bin/python3"
}

尝试无头运行它,如果它工作正常,那么打开新显示器时会出现问题

在VS代码终端中粘贴以下内容,然后重试

export DISPLAY=":0"

你能解决你的问题吗?我对Firefox/VSCode/geckodriver/Linux也有同样的问题。它只在无头模式下的VSCode中工作。我在Microsoft打开了一个错误:@DjAlan抱歉,没有,我没有。我放弃使用Selenium,选择了Puppeter,它对我的用例来说速度更快,而且可以无头运行。