前提・実現したいこと
googleformにあるプルダウンメニューをseleniumで操作したいです。
google formのプルダウンメニューは一般的なものと異なり、selectタブではなく、divタグで囲われているため、いつもの方法では行うことができませんでした。
そこで、調べてみたところ、以下の記事がヒットしたのですが、情報が古いのか、正しく動いてくれません。
https://qiita.com/snowp/items/4dccfd6b0c4346fd2e8b
https://ja.stackoverflow.com/questions/54527/
発生している問題・エラーメッセージ
エラーは出ていないのですが、名前を選択できていないため、所望の結果を得ることができていません。
該当のソースコード
Python
1"""Googleフォームを自動入力するプログラム""" 2import time 3from selenium.webdriver import Chrome, ChromeOptions 4 5# Chromeのドライバーを得る 6options = ChromeOptions() 7options.headless = True 8driver = Chrome(options=options) 9 10# Googleフォームにアクセス 11url = 'https://forms.gle/j7NtWxSVxzw56uLT8' 12driver.get(url) 13time.sleep(3) 14print('Googleフォームにアクセスしました') 15 16# 名前を入力 17options = driver.find_elements_by_class_name('quantumWizMenuPaperselectContent') 18options[0].click() 19time.sleep(3) 20options = driver.find_elements_by_class_name("exportSelectPopup") 21contents = options[0].find_elements_by_tag_name('content') 22print(contents) 23[i.click() for i in contents if i.text == 'あいうえお'] 24 25 26# 入力項目を取得 27input_list = driver.find_elements_by_css_selector('.exportInput') 28 29# 日付を入力 30# このコードも実際にはうまく機能してくれなかった 31driver.execute_script('document.getElementsByClassName("exportInput")[0].value="2020-07-29";') 32 33# 時の入力 34input_list[1].click() 35input_list[1].send_keys('13') 36 37# 分の入力 38input_list[2].click() 39input_list[2].send_keys('20') 40 41# フォームの送信 42btn = driver.find_element_by_css_selector('.appsMaterialWizButtonPaperbuttonLabel') 43btn.click() 44print('フォームを送信しました') 45# time.sleep(3) 46 47driver.quit()
補足情報(FW/ツールのバージョンなど)
selenium 3.141.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/29 14:06
2020/07/30 13:51
退会済みユーザー
2020/07/31 06:37