2
2

More than 1 year has passed since last update.

Selenium SelectでSelectタグが選べないときの対処法

Posted at

実現したいこと

webサイトのドロップダウンから特定の選択肢を選択する

実現するための案

そのドロップダウンリストにselectタグがついていたので

from selenium.webdriver.support.select import Select

dropdown = driver.find_element_by_css_selector(
        'select.クラス名')
    select = Select(dropdown)
    select.select_by_value('1')

といった感じでオプションタグを選択する

困ったこと

selectタグがついているにも関わらず、エラーが発生する

selenium.common.exceptions.NoSuchElementException: Message: no such element: 
Unable to locate element: {"method":"css selector","selector":"select.クラス名"}

対処法

driver.find_element_by_css_selectorで直接選択肢をクリックするようにした。
つまり、

driver.find_elements_by_css_selector('option.選択肢のクラス名')[3].click()

とした。[3]としているのは同一のクラス名が複数あったから。chromeのコンソールを見ていると上から4番目だったので指定した。

原因

はっきりしたことはわからない。しかし別のselectタグで、name属性があるものはselectで選択することができた。

dropdown = driver.find_element_by_name(
        'select.name属性')
    select = Select(dropdown)
    select.select_by_value('1')

このことから、css_selectorでクラスを指定するところで何かうまくいっていないのかとは思った

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2