Python selenium的webdriver之鼠标悬停

xiaoxiao2021-02-28  18

#coding=UTF-8 from selenium import webdriver import time from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Firefox() driver.get(r"http://www.baidu.com/") # 对定位到的元素进行悬停操作(百度首页用link定位到的设置位置不对) # attrible = driver.find_element_by_link_text("设置") elem = driver.find_element_by_id('u1') attrible = elem.find_element_by_class_name('pf') ActionChains(driver).move_to_element(attrible).perform() print(attrible) time.sleep(10) attrible = driver.find_element_by_class_name('setpref') ActionChains(driver).click(attrible).perform() print(attrible) time.sleep(10) driver.refresh() driver.close()

以百度首页的设置为例:

定位到设置元素的位置,使用

move_to_element

此时在定位setpref元素就不会报错说找不到了。

注意这里的点击需要也使用ActionChains的click方法。

能不能直接在find后加click()主要看元素属性。

鼠标的常用方法总结:

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) ——发送某个键到指定元素 
转载请注明原文地址: https://www.6miu.com/read-2350128.html

最新回复(0)