0

次のコードがあります

select = row.find_element_by_css_selector("select")
select.click()
opts = select.find_elements_by_css_selector("option")[1:]
Select(select).select_by_visible_text(choice(opts).text)

実際には、フォーム フィールドがドロップダウンし、ランダムな要素が点滅します。それでうまくいっているようです。しかし!要素を選択しません。JavaScript イベントはトリガーされず、フォーム フィールド、または少なくともレンダリングされたフォーム フィールドは変更されません。

4

2 に答える 2

2

select HTML 要素を Select オブジェクトに渡す必要があります。

select = Select(row.find_element_by_css_selector("select"))
select.select_by_index(1)

Selectは、「選択」しようとしているものを選択するさまざまな (そして便利な) 方法があります: http://selenium.googlecode.com/git/docs/api/py/webdriver_support/selenium.webdriver.support.select。 html

参考までに、あなたchoice()が何をしているのかわかりませんが、インデックスによると、エラーが発生しにくい(そしてより堅牢になる)可能性があります。もclick()不要です。

于 2013-09-20T15:27:39.350 に答える