質問編集履歴

3 試行中の内容削除

sg_mm

sg_mm score 0

2020/12/04 14:13  投稿

Seleniumをheadlessモードなしで実行したときに「~exited abnormally.」と表示され動作しない
### 前提・実現したいこと
ChromeDriverをChromeDriverManagerで自動でダウンロードし、seleniumをブラウザを開いたまま実行したいのですが、headlessモードでは問題なく実行でき、headless otptionをはずすとエラーとなります。
この原因についてご教示をお願いいたします。
なお、headlessモードにしたい理由としては以下コードでseleniumのブラウザを最後開いたままにしたいためです。
```
os.kill(driver.service.process.pid,signal.SIGTERM)
```
### 発生している問題・エラーメッセージ
```
[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Driver [/root/.wdm/drivers/chromedriver/linux64/87.0.4280.20/chromedriver] found in cache
 File "/mnt/c/workspace/src/main.py", line 58, in main
   driver = webdriver.Chrome(executable_path=ChromeDriverManager(response.text).install(), options=options)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
   desired_capabilities=desired_capabilities)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
   self.start_session(capabilities, browser_profile)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
   response = self.execute(Command.NEW_SESSION, parameters)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
   self.error_handler.check_response(response)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
   raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
 (unknown error: DevToolsActivePort file doesn't exist)
 (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
```
### 該当のソースコード
```Python
import requests
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.utils import chrome_version
def main():
       options = webdriver.ChromeOptions()
       options.add_argument('--disable-dev-shm-usage')
       options.add_argument('start-maximized')
       options.add_argument('disable-infobars')
       options.add_argument('--disable-extensions')
       options.add_argument('--disable-gpu') 
       options.add_argument('--no-sandbox')
       # options.add_argument('--headless')
       version = chrome_version()
       url = 'http://chromedriver.storage.googleapis.com/LATEST_RELEASE_' + version
       response = requests.get(url) 
       driver = webdriver.Chrome(executable_path=ChromeDriverManager(response.text).install(), options=options)
       driver.get('https://google.com')
```
### 試したこと
・optionの--headless つけ外し
・optionを一通り設定
//--- 現在試行中 ---  
```  
options.binary_location = "C:\\path\\to\\chrome.exe"  
```  
 
`https://www.it-swarm-ja.tech/ja/python/selenium%EF%BC%9Awebdriverexception%EF%BC%9Achrome%E3%81%AE%E9%96%8B%E5%A7%8B%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%9Agooglechrome%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%9F%E3%82%81%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82chromedriver%E3%81%AFchrome%E3%81%8C%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%9F%E3%81%A8%E6%83%B3%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99/806720555/`  
 
 
 
### 補足情報(FW/ツールのバージョンなど)
- Ubuntu 18.04 LTS
- Python 3.6.9
- Chromeブラウザ 87.0.4280.66
- ChromeDriver(ChromeDriverManagerで自動ダウンロード) 87.0.4280.20
  • Python

    33010 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Chrome

    1578 questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

  • Ubuntu

    3063 questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • selenium

    1813 questions

    Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

2 試行中の文言追加

sg_mm

sg_mm score 0

2020/12/03 22:28  投稿

Seleniumをheadlessモードなしで実行したときに「~exited abnormally.」と表示され動作しない
### 前提・実現したいこと
ChromeDriverをChromeDriverManagerで自動でダウンロードし、seleniumをブラウザを開いたまま実行したいのですが、headlessモードでは問題なく実行でき、headless otptionをはずすとエラーとなります。
この原因についてご教示をお願いいたします。
なお、headlessモードにしたい理由としては以下コードでseleniumのブラウザを最後開いたままにしたいためです。
`os.kill(driver.service.process.pid,signal.SIGTERM)`
```
os.kill(driver.service.process.pid,signal.SIGTERM)
```
### 発生している問題・エラーメッセージ
```
[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Driver [/root/.wdm/drivers/chromedriver/linux64/87.0.4280.20/chromedriver] found in cache
 File "/mnt/c/workspace/src/main.py", line 58, in main
   driver = webdriver.Chrome(executable_path=ChromeDriverManager(response.text).install(), options=options)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
   desired_capabilities=desired_capabilities)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
   self.start_session(capabilities, browser_profile)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
   response = self.execute(Command.NEW_SESSION, parameters)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
   self.error_handler.check_response(response)
 File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
   raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
 (unknown error: DevToolsActivePort file doesn't exist)
 (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
```
### 該当のソースコード
```Python
import requests
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.utils import chrome_version
def main():
       options = webdriver.ChromeOptions()
       options.add_argument('--disable-dev-shm-usage')
       options.add_argument('start-maximized')
       options.add_argument('disable-infobars')
       options.add_argument('--disable-extensions')
       options.add_argument('--disable-gpu') 
       options.add_argument('--no-sandbox')
       # options.add_argument('--headless')
       version = chrome_version()
       url = 'http://chromedriver.storage.googleapis.com/LATEST_RELEASE_' + version
       response = requests.get(url) 
       driver = webdriver.Chrome(executable_path=ChromeDriverManager(response.text).install(), options=options)
       driver.get('https://google.com')
```
### 試したこと
・optionの--headless つけ外し
・optionを一通り設定
//--- 現在試行中 ---  
```  
options.binary_location = "C:\\path\\to\\chrome.exe"  
```  
 
`https://www.it-swarm-ja.tech/ja/python/selenium%EF%BC%9Awebdriverexception%EF%BC%9Achrome%E3%81%AE%E9%96%8B%E5%A7%8B%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%9Agooglechrome%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%9F%E3%82%81%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82chromedriver%E3%81%AFchrome%E3%81%8C%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%9F%E3%81%A8%E6%83%B3%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99/806720555/`  
 
 
 
### 補足情報(FW/ツールのバージョンなど)
- Ubuntu 18.04 LTS
- Python 3.6.9
- Chromeブラウザ 87.0.4280.66
- ChromeDriver(ChromeDriverManagerで自動ダウンロード) 87.0.4280.20
  • Python

    33010 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Chrome

    1578 questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

  • Ubuntu

    3063 questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • selenium

    1813 questions

    Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

1 タイトルの修正

sg_mm

sg_mm score 0

2020/12/03 21:29  投稿

### 前提・実現したいこと
ChromeDriverをChromeDriverManagerで自動でダウンロードし、seleniumをブラウザを開いたまま実行したいのですが、headlessモードでは問題なく実行でき、headless otptionをはずすとエラーとなります。
この原因についてご教示をお願いいたします。
なお、headlessモードにしたい理由としては以下コードでseleniumのブラウザを最後開いたままにしたいためです。
`os.kill(driver.service.process.pid,signal.SIGTERM)`
### 発生している問題・エラーメッセージ
```
[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Driver [/root/.wdm/drivers/chromedriver/linux64/87.0.4280.20/chromedriver] found in cache
File "/mnt/c/workspace/src/main.py", line 58, in main
driver = webdriver.Chrome(executable_path=ChromeDriverManager(response.text).install(), options=options)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
```
### 該当のソースコード
```Python
import requests
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.utils import chrome_version
def main():
options = webdriver.ChromeOptions()
options.add_argument('--disable-dev-shm-usage')
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument('--disable-extensions')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
# options.add_argument('--headless')
version = chrome_version()
url = 'http://chromedriver.storage.googleapis.com/LATEST_RELEASE_' + version
response = requests.get(url)
driver = webdriver.Chrome(executable_path=ChromeDriverManager(response.text).install(), options=options)
driver.get('https://google.com')
```
### 試したこと
・optionの--headless つけ外し
・optionを一通り設定
### 補足情報(FW/ツールのバージョンなど)
- Ubuntu 18.04 LTS
- Python 3.6.9
- Chromeブラウザ 87.0.4280.66
- ChromeDriver(ChromeDriverManagerで自動ダウンロード) 87.0.4280.20
  • Python

    33010 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Chrome

    1578 questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

  • Ubuntu

    3063 questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • selenium

    1813 questions

    Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る