1

現在、Select 要素内で現在選択されているオプションの値を見つけることができるメソッドを作成するのに苦労しています。

<select id="select_foo_bar">
   <option value="0">FOO</option>
   <option value="1" selected="selected">BAR</option>
   <option value ="2">FOOBAR</option>
</select>

現在、私はこれを持っています:

def find_selected_option(self):
    self.wait.until(EC.presence_of_element_location((By.ID, "select_foo_bar"))
    option = Select(self.driver.find_element_by_id("select_foo_bar")).first_selected_option()
    return option.get_attribute("value")

私が理解しているように、そのメソッドはoption要素を見つけて取得し、valueそれを返します。

残念ながら、エラーが表示されますTypeError: 'WebElement' object is not callable。これはoption = Select(self.driver.find_element_by_id("select_foo_bar")).first_selected_option()回線上で発生しています。return発言の要点にも達していません。

どんな助けでもありがたく受け取られます。

4

2 に答える 2

3

私はこの問題を解決しました。昨日疲れた目で書類を読んでいたせいだ。

呼び出しが必要でしたfirst_selected_optionfirst_selected_option()

助けてくれてありがとう。

于 2013-06-04T14:07:36.560 に答える
0

行末の閉じ括弧が抜けていませoption = Select(...んか?

おそらく、これはあなたが探しているものです: Selenium - Python - ドロップダウン メニュー オプションの値

self.driver.find_element_by_id("select_foo_bar")すでに要素を返す必要があります。呼び出すことができますself.driver.find_element_by_id("select_foo_bar").first_selected_option()か?

于 2013-06-03T15:19:03.807 に答える