Python爬虫(4)-Selenium模拟鼠标操作

这篇具有很好参考价值的文章主要介绍了Python爬虫(4)-Selenium模拟鼠标操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Selenium4.2以后的版本里面鼠标的操作方法都封装在了ActionChains中需要时直接取即可。

1.鼠标双击

使用方法就是调用ActionChains然后传入你需要点击的按钮的位置即可

ActionChains(driver).double_click(f1).perform()

perform()的意思就是执行所有ActionChains中的动作

具体的操作方法如下

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.CSS_SELECTOR,'div.search-box')
ActionChains(driver).double_click(f1).perform()

2.鼠标单击

鼠标单击就是直接用click()即可,这种点一下操作主要是左键点击
右键点击就需要调用ActionChains,ActionChains(driver).context_click(f1).perform()

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.CSS_SELECTOR,'div.search-box').click()#左键单击
ActionChains(driver).context_click(f1).perform()#右键单击

3.鼠标悬停于元素上

将鼠标移动到元素的上方

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.CSS_SELECTOR,'div.search-box')
ActionChains(driver).move_to_element(f1).perform()

4.将鼠标移动到目标位置

此时鼠标位于窗口的左上方
action = ActionBuilder(driver)
action.pointer_action.move_to_location(10, 0)
action.perform()

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.CSS_SELECTOR,'div.search-box')
ActionChains(driver).move_to_element(f1).perform()
action = ActionBuilder(driver)
action.pointer_action.move_to_location(8, 0)
action.perform()

5.将鼠标移动到指定位置

ActionChains(driver).move_by_offset(20,20).perform()

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.CSS_SELECTOR,'div.search-box')
ActionChains(driver).move_to_element(f1).perform()
ActionChains(driver).move_by_offset(20,20).perform()

6.用鼠标拖放元素

将A元素移动到B元素的位置然后释放掉鼠标

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.XPATH,'//*[@id="csdn-toolbar"]/div/div/div[1]/ul/li[2]/a')
f2=driver.find_element(By.XPATH, '//*[@id="csdn-toolbar"]/div/div/div[1]/ul/li[3]/a')
ActionChains(driver).drag_and_drop(f1,f2).perform()

可以清楚看到从下载移动到学习这个按钮上
selenium模拟鼠标点击,# Python爬虫,python,爬虫,selenium

7.鼠标拖动

这里的拖动需要给一个起始和结束位置,只要知道起始的位置和拖动结束位置鼠标就能够根据给的位置进行操作

也就是你需要知道窗口中x和y的值在窗口中的那个位置,以及你想要移动到的位置。

只要给定好范围,就能够进行鼠标在窗口中的拖动。文章来源地址https://www.toymoban.com/news/detail-803182.html

from selenium.webdriver import Chrome, ChromeOptions, ActionChains
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
action = ActionBuilder(driver)
driver.get("https://so.csdn.net/so/search?spm=1001.2101.3001.4498&q=XPATH%E5%AE%9A%E4%BD%8D&t=&u=&s=hot")
driver.refresh()
f1=driver.find_element(By.XPATH,'//*[@id="csdn-toolbar"]/div/div/div[1]/ul/li[2]/a')
start = f1.location
f2=driver.find_element(By.XPATH, '//*[@id="csdn-toolbar"]/div/div/div[1]/ul/li[3]/a').location
ActionChains(driver).drag_and_drop_by_offset(f1,f2['x'] - start['x'],f2['x']-start['y']).perform()

到了这里,关于Python爬虫(4)-Selenium模拟鼠标操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 「Python|Selenium|场景案例」如何模拟鼠标单击、双击、右击、长按和拖拽等操作?

    本文主要介绍如何在使用selenium进行自动化测试的时候模拟各种鼠标操作。 在进行自动化测试的时候,我们可能会需要需要进行鼠标操作的场景,比如: 测试右击,查看是否网页是否屏蔽了右键菜单 面对滑块式登录验证方式,模拟拖拽 模拟前进或后退等鼠标扩展操作 ……

    2023年04月08日
    浏览(47)
  • 〖Python WEB 自动化测试实战篇⑦〗- 实战 - selenium的基本元素操作与键盘鼠标模拟事件操作

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月08日
    浏览(70)
  • selenium 模拟鼠标操作

    前言:我们在做web自动化的时候,有时候页面的元素不需要我们点击,值需要把鼠标移动上去就能展示各种信息,这个时候我们可以通过操作鼠标来实现,接下来我们来讲一下使用selenium做web自动化的时候如何来操作鼠标。 鼠标操作,我们可以使用selenium的ActionChains类来实现

    2024年02月01日
    浏览(31)
  • Selenium 模拟键盘及鼠标操作

    在第三章中我们已经初步掌握了 Selenium 中的元素操作,包括了 click() 点击操作、clear() 清除操作以及 sendKeys() 输入操作,但是这三种操作还不能够满足测试用例中的操作;以点击来说,使用鼠标可以实现点击、双击等,而使用键盘也可以输入除了字符串之外的如 CTRL、ENTER、

    2024年04月15日
    浏览(35)
  • selenium模拟网页的键盘鼠标操作

    Selenium可以模拟键盘和鼠标操作,下面是一些常用的方法:   1. 模拟键盘输入   ```python from selenium.webdriver.common.keys import Keys   # 找到输入框 input_box = driver.find_element_by_xpath(\\\"//input[@name=\\\'q\\\']\\\")   # 在输入框输入文字 input_box.send_keys(\\\"Python\\\")   # 模拟回车键 input_box.send_keys(Keys.ENTER)

    2024年02月13日
    浏览(52)
  • Selenium教程04:鼠标+键盘网页的模拟操作

    在webdriver 中,鼠标操作都封装在ActionChains类中,使用的时候需要导入这个包。 ActionChains方法列表如下: 1.单击左键+单击右键+左键双击的示例用法。 2.模拟鼠标拖动操作,该操作有两个必要参数,source:鼠标拖动的元素,target:鼠标拖至并释放的目标元素。 3.move_to_element()鼠

    2024年02月03日
    浏览(47)
  • Web自动化测试进阶 —— Selenium模拟鼠标操作

    在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。 首先导入ActionChains类: from selenium.webdriver.common.action_chains import ActionChains context_click():右击 double_click():双击 drag_and_drop():拖动 move_to_

    2024年02月09日
    浏览(52)
  • 爬虫:使用Selenium模拟人工操作及获取网页内容

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对近年

    2024年02月13日
    浏览(43)
  • 【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,学习模拟鼠标+模拟键盘进行相关操作(精)(四)

    1、了解元素交互的常用方法 2、学习如何对多选元素进行操作 3、 学习模拟鼠标进行相关操作 ( 本节目标 ) 4、 学习模拟键盘进行相关操作 ( 本节目标 ) 用于向 Web 浏览器提供虚拟化设备输入操作的低级接口.除了刚刚讲过的Web元素交互之外, Actions 接口 还提供了对指定输

    2024年03月24日
    浏览(89)
  • 学会了selenium 模拟鼠标操作,你就可以偷懒点点点了

    我们在做 Web 自动化的时候,有时候页面的元素不需要我们点击,值需要把鼠标移动上去就能展示各种信息。 这个时候我们可以通过操作鼠标来实现,接下来我们来讲一下使用 selenium 做 Web 自动化的时候如何来操作鼠标。 鼠标操作,我们可以使用 selenium 的 ActionChains 类来实现

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包