Python-Seleniumを使用してニューヨークマラソン(参照:http://results.nyrr.org/event/M2016/finishers)からランナーの情報をダウンロードしようとしています。私は、性別や年齢層によって、この情報をフィルタリングしたいので、私は次のコードを書いた:情報をフィルタリングするためにPython-Seleniumを使用しているときにクリックが機能しない
browser = webdriver.Chrome()
browser.get('http://results.nyrr.org/event/M2016/finishers')
browser.maximize_window()
gender_menu = browser.find_element_by_xpath("//div[@class='dropdown dropdown-
main short-filter']")
gender_menu.click()
gender_menu.find_element_by_xpath("//ul[@role='menu']/li[3]").click()
age_menu = browser.find_element_by_xpath("//div[@class='dropdown dropdown-
main short-filter ages-filter']")
age_menu.click()
age_menu.find_element_by_xpath("//ul[@role='menu']/li[3]").click()
問題は一部age_menu.find_element_by_xpath("//ul[@role='menu']/li[3]").click()
が私にexepction「エレメントが表示されない」私が使用している場合/li[1]
、/li[2]
、またはを与えることです/li[3]
ですが、/li[4]
以上のインデックスを使用すると表示されません。
性別を選択するときにも使用するので、.click
はこの例外がありますか?ジェンダーには3つのオプションがあり、第4グループ以降は年齢グループ別にしかフィルタリングできないことに注意してください。どんな助けもありがとう!実装以下
の作品は何ですか? – sircapsalot
@sircapsalotデータを読み込むために各ランナーを最初にクリックする必要があるので、美しいスープは私の知る限りではできません – Belisario
ok :)私はあなたがテストしているアプリケーションを知らないので疑問に思っていました。実際にajaxを起動する必要がある場合は、yesを返します。セレンは間違いなく適切です – sircapsalot