一、来个百度示例吧
想要点击如下图的图片~先上代码
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
def start():
driver = webdriver.Chrome("/lib/chromedriver")
driver.get("https://www.baidu.com/")
time.sleep(1)
more = driver.find_element_by_xpath("//a[@class='s-bri c-font-normal c-color-t']")
# 使用find_element_by_xpath找到菜单更多,并将鼠标移动到上面
ActionChains(driver).move_to_element(more).perform()
time.sleep(1)
driver.find_element_by_xpath("//div[@class='s-top-more-title c-font-normal c-color-t']").click()
time.sleep(2)
if __name__ == '__main__':
start()
二、ActionChains的相关方法
- click(on_element=None) ——单击鼠标左键
- click_and_hold(on_element=None) ——点击鼠标左键,不松开
- context_click(on_element=None) ——点击鼠标右键
- double_click(on_element=None) ——双击鼠标左键
- drag_and_drop(source, target) ——拖拽到某个元素然后松开
- drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
- key_down(value, element=None) ——按下某个键盘上的键
- key_up(value, element=None) ——松开某个键
- move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
- move_to_element(to_element) ——鼠标移动到某个元素
- move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
- perform() ——执行链中的所有动作
- release(on_element=None) ——在某个元素位置松开鼠标左键
- send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
- send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素