首页 > 解决方案 > 使用 python selenium 从谷歌表单下拉列表中选择一个选项

问题描述

我遵循了另一个stackoverflow的步骤,但无法弄清楚如何实现目标。

谷歌表单

我的代码:

from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.webdriver import WebDriver



url = "https://docs.google.com/forms/d/e/1FAIpQLSds6e0UN4V9j3eNvZ3Tm6kRVEC0Ak74m4rBB8IGJIUEnTGmaw/formResponse"

def foo(opt="Option 2", delay=20):
    from selenium.webdriver.chrome.webdriver import WebDriver
    import time

    driver = WebDriver()
    driver.get(url)
    driver.find_element_by_class_name("quantumWizMenuPaperselectOptionList").click()
    options=driver.find_element_by_class_name("exportSelectPopup")
    time.sleep(3)
    print(options)
    contents = options.find_elements_by_tag_name('content')
    [i.click() for i in contents if i.text == opt]
foo()

该代码一直有效,直到它应该从下拉列表中选择选项 2。当它到达这一点时,它选择下拉按钮但没有选择选项(下图) 在此处输入图像描述

标签: pythonformsselenium

解决方案


您可以将这段代码放在程序应该选择一个选项的位置:

from pyautogui import write

option_number = 3 # Choose option number here

# Put this where the program's supposed to select an option
for _ in range(option_number):
    write(['down'])
write(['enter'])

推荐阅读