美文网首页
鼠标操作

鼠标操作

作者: 酷飒de小姐姐 | 来源:发表于2021-05-31 20:14 被阅读0次

    在模拟使用鼠标操作时,我们需要先导入ActionChains类,代码如下:

    from selenium.webdriver.common.action_chainsimport ActionChains

    ActionChains用于生成用户的行为,可以模拟鼠标操作,如单击、双击、单击鼠标右键、拖曳等。所有的行为都存储在ActionChains对象中,再通过perform()方法执行所有Action-Chains对象中存储的行为。perform()也是ActionChains类提供的方法,通常与ActionChains()配合使用。ActionChains方法的说明如下图所示:

    说明

    右击操作

    context_click()方法是先定位一个元素,然后对定位的元素执行右击。首先我们要先定位一个元素,其次执行需要的操作,最后需要提交操作。以Bing首页为例,在搜索框元素区域进行右击操作,代码如下:

    from selenium import webdriver

    import time

    from selenium.webdriver.common.action_chainsimport ActionChains

    driver = webdriver.Chrome()

    driver.get("https://cn.bing.com/")

    right = driver.find_element_by_xpath("//*[@id='sb_form_go']")

    ActionChains(driver).context_click(right).perform()

    time.sleep(2)

    driver.quit()

    双击操作

    double_click()方法用于对元素进行操作。以Bing首页上的搜索按钮为例,对其发起双击操作,代码如下:

    #定位要双击的元素

    double = driver.find_element_by_xpath("//input[@id='sb_form_go']")

    # 对定位的元素执行鼠标双击操作 

    ActionChains(driver).double_click(double).perform()

    拖动操作

    drag_and_drop()方法实现元素拖动的功能,即通过鼠标拖曳某个元素到指定的元素后再松开。以Bing首页为例,拖动“学术”链接元素到搜索框元素的位置

    # 定位到“学术”元素的原位置

    element = driver.find_element_by_xpath("//*[@id='scpl2']")

    # 定位到元素要移动到的目标位置,目标是搜索框

    target = driver.find_element_by_xpath("//input[@id='sb_form_q']")

    #执行元素的移动操作

    ActionChains(driver).drag_and_drop(element, target).perform()

    鼠标指针悬停操作

    通过move_to_element()方法,可以将鼠标指针悬停在一个元素上,从而查看该元素的一些提示信息。例如,将鼠标指针悬停在Bing首页的搜素框元素上,实现代码如下:

    # 搜索框

    element = driver.find_element_by_xpath("//input[@id='sb_form_q']")

    # 执行鼠标指针悬停操作

    ActionChains(driver).move_to_element(element).perform()

    相关文章

      网友评论

          本文标题:鼠标操作

          本文链接:https://www.haomeiwen.com/subject/lsmysltx.html