やりたいこと
webdriver.Chrome(ChromeDriverManager().install())を使用するとブラウザが開いた後にすぐ落ちてしまうのでそれを回避したいです。
特にエラーというエラーは見当たりませんでした。
実行後ログ
linux
1====== WebDriver manager ====== 2====== WebDriver manager ====== 3Current google-chrome version is 98.0.4758 4Get LATEST chromedriver version for 98.0.4758 google-chrome 5Trying to download new driver from https://chromedriver.storage.googleapis.com/98.0.4758.102/chromedriver_win32.zip 6Driver has been saved in cache [C:\Users\username\.wdm\drivers\chromedriver\win32\98.0.4758.102] 7c:\Users\username\Desktop\workspeace\intest\test.py:9: DeprecationWarning: executable_path has been deprecated, please pass in a Service object 8 driver = webdriver.Chrome(ChromeDriverManager().install()) 9 10DevTools listening on ws://127.0.0.1:53628/devtools/browser/f813b4b5-a5f3-49e4-ba70-4fa6fe306ae6 11Traceback (most recent call last): 12 File "c:\Users\username\Desktop\workspeace\intest\test.py", line 13, in <module> 13 elem = driver.find_element(By.NAME, 'q') 14NameError: name 'By' is not defined 15PS C:\Users\username\Desktop\workspeace>
コード
Python
1from selenium import webdriver 2from webdriver_manager.chrome import ChromeDriverManager 3 4#webdriverのパス 5# driver = webdriver.Chrome("C:\Users\username\Desktop\workspeace\intest\driverchromedriver.exe") 6 7# ドライバー指定でChromeブラウザを開く 8driver = webdriver.Chrome(ChromeDriverManager().install()) 9# Googleアクセス 10driver.get('https://www.google.com/') 11# 検索ボックスを特定 12elem = driver.find_element(By.NAME, 'q') 13# 「Selenium」と入力して、「Enter」を押す 14elem.send_keys('Selenium' + Keys.RETURN) 15# ブラウザを閉じる 16#driver.quit()
環境
Python 3.10.2
VSCode
selenium 4.1.0
環境に記載を忘れていました。
下記もインストールしています。
webdriver-manager 3.5.3
NameError: name 'By' is not defined と表示されていますので、
from selenium.webdriver.common.by import By
を追加して下さい。
from selenium.webdriver.common.by import Byを追加して実行してみましたがブラウザは前と同じ落ちてしまいます。
実行結果です。
====== WebDriver manager ======
Current google-chrome version is 98.0.4758
Get LATEST chromedriver version for 98.0.4758 google-chrome
Trying to download new driver from https://chromedriver.storage.googleapis.com/98.0.4758.102/chromedriver_win32.zip
Driver has been saved in cache [C:\Users\username\.wdm\drivers\chromedriver\win32\98.0.4758.102]
c:\Users\username\Desktop\workspeace\intest\test.py:5: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(ChromeDriverManager().install())
DevTools listening on ws://127.0.0.1:50478/devtools/browser/5da5688e-71a5-4cd6-b2c3-cfd03f553f72
追記です。
試したこととしてPythonのバージョンをPython 3.7.8に下げて実行してみましたができませんでした。
追記です。
webdriver.Chrome(ChromeDriverManager().install())を使用せずに
フォルダパスを通してchromedriverを実行してましたができまんでした。
ブラウザのバージョンはバージョン: 98.0.4758.102(Official Build)で落としてきたファイルも
chromedriver_win32の98.0.4758.102ものです。
万策尽きました
プログラムが終了するとChromeが終了するケースもあるようなので、プログラムが終了しないようにしてどうなるか確認してください。
