Selenium自动化中处理鼠标悬停并操作的方法

因为测试中遇到要鼠标悬停显示Tooltip,并操作tip上的内容,现记录如下。

方法一:通过鼠标链式操作

from selenium.webdriver.common.action_chains import ActionChains as AC

ac = AC(self.driver)

lst = self.driver.find_element_by_xpath('//*[@id="workorderdetail"]/div/div/div[2]/div[1]/div/div[5]/div[1]/div[2]/div') 
bt = lst.find_element_by_xpath('./div/div[3]/div/div[@class="tip-function-button"]/svg') 
# 方法一: 
ac.move_to_element(lst).pause(3).click(bt).release(bt).perform() # 鼠标链式操作

方法二:鼠标悬停后点击

from selenium.webdriver.common.action_chains import ActionChains as AC

ac = AC(self.driver)
lst = self.driver.find_element_by_xpath('//*[@id="workorderdetail"]/div/div/div[2]/div[1]/div/div[5]/div[1]/div[2]/div') 
bt = lst.find_element_by_xpath('./div/div[3]/div/div[@class="tip-function-button"]/svg')

ac.move_to_element(lst).perform() # 鼠标悬停 
time.sleep(1) 
# 方法二: 
bt.click() # 点击Tooltip上的元素

方法三:鼠标悬停后调用JS点击

from selenium.webdriver.common.action_chains import ActionChains as AC

ac = AC(self.driver)

lst = self.driver.find_element_by_xpath('//*[@id="workorderdetail"]/div/div/div[2]/div[1]/div/div[5]/div[1]/div[2]/div') 
ac.move_to_element(lst).perform() # 鼠标悬停 
time.sleep(1) 
# 方法三: 
# 通过JS点击Tooltip上的元素 
self.workorder.js_execute("document.querySelector('.tip-function-button').click()")

你可能感兴趣的:(自动化测试,Python,python,自动化,selenium)