Selenium對於下拉式選單的處理方式

Selenium對於下拉式選單的處理方式

這篇文章主要說明針對一些動態的 menu,例如下拉式選單,

要如何處理才不會遇到 Element Not Found 的錯誤。

情境

假設有一個下拉式選單如下

Parent Menu-1+—–ChildMenu-1 Parent Menu2+—–ChildMenu-2 Parent Menu3+—–ChildMenu-3

這個 menu 通常需要滑鼠 move over 到 Menu-1的時候, ChildMenu-1才會出現,

因此 Selenium要如何可以正確的點選到 ChildMenu-1呢?

 

程式範例

# 利用 ActionChains 其中一個重要的功能,就是 move to element

actions = ActionChains(driver)

#首先先 move 到該 parent Menu
actions.move_to_element(ParentMenu-1)

# 執行
actions.perform()

# 由於 child Menu 出現需要一些時間,因此利用 Expected Conditions 等待到 childMenu的出現
ChildMenu-1 = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, ChildMenu-1)))
# child Menu出現之後再進行點擊
ChildMenu-1.click()

				

Leave a Reply

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