定位二级菜单中的位置,主要用到ActionChains这个函数,代码如下,亲测可用。
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
if __name__ == '__main__':
#这里用的是谷歌浏览器
driver = webdriver.Chrome()
driver.maximize_window()
#输入网址,以百度为例
driver.get("https://www.baidu.com/")
#等待网页加载成功
time.sleep(3)
#定位父菜单按钮位置,以“更多”按钮为例
more = driver.find_element_by_xpath('//a[text()="更多"]')
time.sleep(5)
#ActionChains方法中传入driver对象,用move_to_element(定位元素).perform方法滑动到百度的“更多”菜单
ActionChains(driver).move_to_element(more).perform()
#定位子菜单按钮位置,以“音乐”按钮为例,成功跳转到音乐界面
driver.find_element_by_link_text("音乐").click()