写UI自动化时,经常会遇到无法定位或者选择页面中的下拉元素,查阅多篇资料后,发现比较稳定的方式是使用ActionChains模块来实现想要的效果:
from selenium.webdriver.common.action_chains import ActionChains
# 定位到下拉框
element1 = self.driver.find_element(By.XPATH,"//div[text()='下拉框']")
# 鼠标悬停在下拉框上
ActionChains(self.driver).move_to_element(element1).perform()
# 定位到选择元素
node = self.driver.find_element(By.XPATH,"//div[text()='某元素']")
# 点击选择的元素
ActionChains(self.driver).move_to_element(node).click().perform()