2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have 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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?