GoogleFormのプルダウンをseleniumで選択することができません

投稿者: Anonymous

複数プルダウンが存在するGoogle Formの入力をselenium(Pythonを使用)で自動入力を行おうとしたところ、
こちらの方法を使って
https://stackoverflow.com/questions/49854786/handling-drop-down-for-google-form-using-selenium
一つ目のプルダウンは選択できたのですが二つ目以降が選択できません。
コードとしては以下のようになります。

self.webElementClickOverlay(buttonInfo)
time.sleep(3)
options=self.driver.find_element_by_class_name("exportSelectPopup")
contents = options.find_elements_by_tag_name('content')
[i.click() for i in contents if i.text == target]

buttonInfo はプルダウンをクリックするときのXPath
target は選択したい文言になります

現象としては1回目の場合は optionsの中にプルダウンの選択肢の内容が入っておりループ処理がうごくのですが2回目以降はoptionsの中にプルダウンの選択肢が入っていない状態になります。

対応方法をご存知の方はいらっしゃらないでしょうか?

追記
具体的にどういうGoogle Formかを追記しました
以下のGoogle Formのようにプルダウンが複数あるときに一つ目は操作できるのですが二つ目が操作できていない状態です。
デバックモードで確認したところ options が2回目呼ばれるときにはからになっています

https://forms.gle/E84ii1SkAUY8631b7

GoogleFromの例

解決

上記 champon さんからのコメントをもとに解決できたのでそのコードを記載します

   self.webElementClickOverlay(buttonInfo) 
    time.sleep(3) 
    options=self.driver.find_elements_by_class_name("exportSelectPopup") 
    contents = options[pullDownPosition].find_elements_by_tag_name('content') 
    [i.click() for i in contents if i.text == target] 

pullDownPosition はプルダウンの位置を0始まりで設定することで期待した通りに動きました 。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *