python selenium 鼠标移动到指定元素,并点击对应的元素
在使用selenium 爬去网页信息的时候,我们经常会遇到这样的一个问题。就是某一关键字或者元素,必须是鼠标悬浮上,才会出现,然后才能点击。那下面,我们就用python实现这一功能。
举例来说:
假设我们我想要点击,“导出音频数据” 按钮。首先需要让,鼠标移动到"项目进度"按钮上面,然后等待’导出音频数据’按钮出现后,才能点击。
代码:
import time
from selenium.webdriver import ActionChains
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import ByActionChains(short_driver).move_to_element(short_driver.find_element_by_link_text("项目进度")).perform() down_data_click = WebDriverWait(short_driver, 5).until( EC.element_to_be_clickable((By.XPATH, "//div[@class='one-content-three'][1]/div/ul/li[2]/a")))
time.sleep(2)
down_data_click.click()
解释一下:
ActionChains(driver).move_to_element(elenment)
这个方法,是让鼠标移动到指定元素上面,driver就是你的实例化对象,elenment 就是你对元素进行定位,这里我是通过driver.find_element_by_link_text(),当然你可以通过xpath()进行定位。
WebDriverWait(driver, 5).until( EC.element_to_be_clickable()
上面的那个方法,就是driver对象,一直等待某些指定元素出现后,并且可以点击element_to_be_clickable()的时候。我这里设置最大的等待时间为5秒,如果5秒过后,元素不出现,就会报错,当然这里,你还可以加上一个 try except 进行异常捕获。
另外扩展知识下:
- 鼠标单击 click
- 鼠标双击 double_click
- 鼠标单击并摁住不放 click_and_hold
- 鼠标拖拽 drag_and_drop
学习博客:https://blog.csdn.net/Sily_Z/article/details/82663370
python selenium 鼠标移动到指定元素,并点击对应的元素相关推荐
- 使用python+selenium获取网易云指定歌曲评论
使用selenium获取网易云指定歌曲评论 最近一段时间在学习python爬虫,结合自己学习的内容写一个简单爬虫来获取网易云音乐中指定歌曲的评论信息.第一次发博客并且也是入门爬虫不久,有问题的地方希望 ...
- python selenium鼠标点击_python selenium鼠标键盘操作(ActionChains)
用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...
- python+selenium牛刀小试之自动化模拟网站广告点击
做任何一件事我们有目的才可以做到事半功倍,我们学习的时候也要带着自己想要的结果以及问题去学习,才可以让你更快的掌握一门知识.这次我主要是带大家实现通过自动化selenium模拟人工点击网站广告.以下内 ...
- python selenium鼠标点击_Python+Selenium学习--鼠标事件
场景 前景讲解了鼠标的click()事件,而我们在实际的web产品测试中,有关鼠标的操作,不仅仅只有单击,有时候还包括右击,双击,拖动等操作,这些操作包含在ActionChains类中. Action ...
- Python操作鼠标键盘(复制/剪切/双击/点击/移动等)
安装 1.首先下载安装pywin32 地址:https://github.com/mhammond/pywin32/ 这里用安装包进行安装,选择对应的版本 下一步就是无脑安装即可-- 打开cmd,查看 ...
- selenium 鼠标悬浮_处理Selenium3+python3定位鼠标悬停才显示的元素
先给大家介绍下Selenium3+python3--如何定位鼠标悬停才显示的元素 定位鼠标悬停才显示的元素,要引入新模块 # coding:utf-8 from selenium import web ...
- python selenium 用法 和 Chrome headless
From: http://cuiqingcai.com/2599.html Selenium教程:https://www.yiibai.com/selenium selenium 官方参考文档:htt ...
- Python selenium定位动态下拉框
Python selenium定位动态下拉框 1.下拉框元素需要点击控件才展示 这里可以使用XPAN定位到下拉框,使用driver.find_element(By.XPATH,"路径&quo ...
- css中为伪元素增加点击事件和hover
鼠标悬停在父元素上面时为伪类元素增加样式 <!-- html结构 --> <div class="father"></div><style ...
最新文章
- python文字识别算法_Python图像处理之图片文字识别(OCR)
- jquery获取元素宽高
- POJ2528的另一种解法(线段切割)
- python内核大小_关于keras.layers.Conv1D的kernel_size参数使用介绍
- Learning Face Age Progression: A Pyramid Architecture of GANs
- 分布式部署_Apache Spark探秘:三种分布式部署方式比较
- 安装oracle9i时提示找不到文件OCS4J.properties的解决方法
- Velox将在Pangolin上启动其算法交易机器人,并计划推出更多DeFi解决方案
- perl 操作redis 数据库 带用户名和密码验证,选择数据库0.1.2
- 调用iphone客户端进行授权发微博的方法--使用友盟组件
- 结对编程之求首尾相连数组中最大子数组的和
- Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息
- Python实战——为人脸照片添加口罩
- APISpace 银行卡二要素API 方便好用
- 生活小常识,哪些药物不能混合用?
- sysctl 系统配置
- 笔记-3.路径动画+小球闯关练习
- Druid未授权漏洞实战利用
- matlab-simulink-simscape的直流电动机模型仿真
- ZPL 打印条码、二维码及小票(中文/汉字),生成条码、二维码图片【Asp.Net】-含示例代码