前提・実現したいこと
Seleniumであるサイトのコンボボックスから、指定の値を選択したいです。
該当のソースコード
下記のソースコードを用いて、あるサイトのコンボボックスを操作して指定の値を選択したいのですが、
うまくいかずに困っています。
方法1と方法2を試し、それぞれ別のエラーがでました。
(もちろん、両方を同時に書いているわけではなく、片方を実行するときはもう片方をコメントアウトしています)
Python
from selenium import webdriver from selenium.webdriver.support.ui import Select from selenium.webdriver.common.keys import Keys DRIVER_PATH = '○○' driver = webdriver.Chrome(executable_path=DRIVER_PATH) driver.get('hogehoge') element1 = driver.find_element_by_xpath('××') #方法1 select_element1 = Select(element1) select_element1.select_by_visible_text("△△") #方法2 element1.send_keys("△△") element1.send_keys(Keys.ENTER)
発生している問題・エラーメッセージ
#方法1の時 UnexpectedTagNameExeption: Message: Select only works on <select> elements, not on <input> #方法2の時 WebDriverExeption: Message: chrome not reachable
エラー文から察するに、方法1の時のエラーはそもそも選ぶ要素が<select>要素ではなく<input>要素である
と言うことだと思うのですが、コンボボックスは<select>要素として扱われないのでしょうか?
また、方法2の時のエラーはchromeがたどり着けないというエラーかと思いますが、
find_element_by_pathのところでエラーが出ていないのに、なぜこのようなエラーが出るのでしょうか。
上記に加えて、コンボボックスを操作して指定の値を選択する良い方法がありましたら教えて頂きたいです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Python = 3.8.5
selenium = 3.141.0
まだ回答がついていません
会員登録して回答してみよう