亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Selenium 有沒有辦法從谷歌表單的下拉菜單中選擇一個選項(python)

Selenium 有沒有辦法從谷歌表單的下拉菜單中選擇一個選項(python)

九州編程 2023-09-11 16:57:28
谷歌表單中的下拉菜單不使用任何標簽,而是使用標簽和java。我無法找到任何可以從谷歌表單的下拉菜單中選擇的內容。他們的下拉菜單的 HTML 太長了,所以為了節省篇幅,我將提供一個 google 表單示例。鏈接到示例
查看完整描述

3 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

我通常通過等待 Selenium 找到下拉菜單來處理此問題,然后使用宏或 RPA 工具(例如 Appprobotic)單擊它并瀏覽選項(同時調整每次單擊或選項移動之間的時間)。像這樣的東西應該適合你:


import win32com.client

x = win32com.client.Dispatch("AppRobotic.API")

from selenium import webdriver


# navigate to Google Form

driver = webdriver.Firefox()

driver.get('https://forms.gle/SZftJSkvy9YWbktF9') 

# sleep 1 second

x.Wait(1000)


link = driver.find_element_by_link_text('Mail')

if len(link) > 0

    link[0].click()

# sleep 1 second

x.Wait(1000)

# press down arrow key

x.PressDownArrow

x.Wait(100)

x.PressDownArrow

x.Wait(100)


查看完整回答
反對 回復 2023-09-11
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

親愛的試試這個,我想這會起作用的


    from selenium import webdriver 

    import time



    driver = webdriver.Chrome("chromedriver/chromedriver")

    driver.get('https://docs.google.com/forms/d/e/1FAIpQLSdpyJ9UBFtsQDZHhK7KsYuILm5kh68jvY5DeFAKIBPTxx4RCQ/viewform')

'''For click drop down'''

    driver.find_element_by_xpath('//*[@id="mG61Hd"]/div/div/div[2]/div/div/div[2]').click()

'''Time for wait --> 1 second'''

    time.sleep(1)

'''Select the option '''

    driver.find_element_by_xpath('//*[@id="mG61Hd"]/div/div/div[2]/div/div/div[2]/div[2]/div[4]/span').click()



查看完整回答
反對 回復 2023-09-11
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

此頁面有自定義選擇和選項,而不是默認選項。您應該像使用常規 Web 元素一樣使用它,只需使用常規定位器來查找元素然后進行交互即可。


嘗試這個:


driver = webdriver.Chrome()

driver.get("https://docs.google.com/forms/d/e/1FAIpQLSdpyJ9UBFtsQDZHhK7KsYuILm5kh68jvY5DeFAKIBPTxx4RCQ/viewform")


driver.implicitly_wait(4)

# Click on top option placeholder to open a drop down:

driver.find_element_by_xpath("http://div[@role='option' and contains(@class, 'isPlaceholder')]").click()


sleep(1) # Wait for options to load

options = driver.find_elements_by_xpath("http://div[@role='option' and not(contains(@class, 'isPlaceholder'))]")

# And now, let's click on the 4th one by index:

options[3].click()

希望這有幫助!


查看完整回答
反對 回復 2023-09-11
  • 3 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號