python selenium控制浏览器打开网页 模拟鼠标动作

2023-11-05

selenium 是一个浏览器控制的库 需要下载安装 谷歌浏览器的驱动 chromedriver

https://sites.google.com/chromium.org/driver/downloads 在这里选择跟自己谷歌浏览器版本号一致的驱动程序  如果是最新的浏览器版本可以点这里下面这个链接

Chrome for Testing availability

选择自己系统对应的驱动下载就行

ps:网上很多教程给的地址 已经不在更新了  还停留在90的版本 除非自己的谷歌浏览器版本很低否则都是用不了的!

下载好以后  chromedriver

mac/linux 放在自己的命令目录里 /usr/bin/

win 放在自己python的安装目录下面 找不到的话 可以whereis pip 一下 看看pip在哪里然后丢到一起

如果没有vpn没有办法下载谷歌驱动的可以点这里下载  是我下载好的最新的驱动 win linux mac都有  注意看一下自己的谷歌浏览器版本号:116 才可以!!!!!

驱动安装以后安装  selenium pip安装 或者通过pycharm安装都是ok的

我这里用的selenium 版本是3.141 新版已经4.x了,如果自己没有这个库可以点击“+”安装就可以了。

入门使用:

打开chrome浏览器并且访问百度首页:

from selenium import webdriver

url = "https://www.baidu.com" 
driver = webdriver.Chrome()
driver.get(url)

 selenium是可以在浏览器里执行js代码的  所以一些点击 滑动 都可以用js来实现

我试过一些它自带的dom定位方法  没有js好用

js = "window.scrollBy(0,500)"  # 向下滑动500个像素  传入x,y坐标
driver.execute_script(js)
time.sleep(2)

用自带的方法通过class Name去定位 并且点击

#定位到要点击的元素
right_click =driver.find_element_by_class_name(tag)
#对定位到的元素执行鼠标操作
ActionChains(driver).click(right_click).perform()

有很多方法 大家可以都尝试一下!

 这种是通过执行js 去定位ClassName为page-link的多个同className是一个数组  选择你要点第几个就行了!

js = "document.getElementsByClassName('page-link')["+ str(n) +"].click()"
driver.execute_script(js)

最后记得施放资源

driver.quit()

总结:核心就是 打开一个网站 然后去定位元素位置,执行点击,输入的动作!输入我这个脚本没有用到,等我用到了 再写吧~ 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python selenium控制浏览器打开网页 模拟鼠标动作 的相关文章

随机推荐

  • flutter开发中常用的dart插件

    本文罗列了一些在用flutter进行移动开发时经常会用到的插件 flutter插件官网地址 https pub dartlang org packages 1 image picker 一个可以从图库选择图片 并可以用相机拍摄新照片的flu
  • 关于Java中序列化Serializable的简单注解

    最近学校的实训课程在学习ssm框架 其中有一点实体类里面实现了Serializable序列化的方法 查了一下 仍然有点模糊 序列化和数据库中的字段有关 方便数据存储和传输 import java io Serializable public
  • 计算机专业毕业设计题目大全

    计算机专业毕业设计题目大全 一 ASP类计算机专业毕业设计题目 文章目录 计算机专业毕业设计题目大全 一 ASP类计算机专业毕业设计题目 ASP NET类计算机专业毕业设计题目 Delphi类计算机专业毕业设计题目 JAVA类计算机专业毕业
  • 2020 AI产业图谱启动,勾勒中国AI技术与行业生态

    2020年国务院政府工作报告 提出 重点支持 两新一重 建设 其中 两新一重 中的第一个 新 就是新基建 而人工智能是新基建的重要组成部分 新基建首次被纳入政府工作报告后 各大科技厂商纷纷押注 重金投向 新基建 例如腾讯已经宣布未来五年将投
  • 网络问题导致的github提交失败解决方案

    参考文章 github push过程中的timeout问题 码农家园 1 打开 C Windows System32 drivers etc 下的hosts文件 2 访问 github global ssl Fastly net Serve
  • 质量成本(一致性成本和非一致性成本)

    项目管理知识体系指南第四版 PMBOK2008 8 1 2 2 质量成本 质量成本包括在产品生命周期中为预防不符合要求 为评价产品或服务是否符合要求 以及因未达到要求 而发生的所有成本 质量成本 一致性成本和非一致性成本 一致性成本包括预防
  • 机器学习环境的搭建(miniconda+pycharm)

    一 Python语言环境的安装 miniconda 1 软件安装 直接去官网下载Miniconda速度太慢 建议去清华开源找一个替代的镜像下载 并且在清华该网站上面 还有附带的一些镜像使用帮助 2 anaconda与miniconda的区别
  • STM32CubeMx采集多路ADC

    转载于https blog csdn net qq 24815615 article details 70227385 原文地址https www eemaker com stm32cubemxadc html 单片机为 STM32F103
  • IntelliJ IDEA 好用的插件

    IntelliJ IDEA 好用的插件 1 Maven Helper Maven Helper插件可以方便显示maven的依赖树和方便解决依赖冲突问题 2 Alibaba Java Coding Guidelines Alibaba Jav
  • @FeignClient Get请求、实体参数,自动转POST请求问题

    问题 报错提示不支持POST请求 解决 使用SpringCloud2 1以上版本提供的 SpringQueryMap注解标注在实体对象参数后解决 导入注解包路径 import org springframework cloud openfe
  • lapack安装 matlab,调用 LAPACK 和 BLAS 函数

    将参数从 Fortran 程序传递给 Fortran 函数 您可以从 Fortran MEX 文件中调用 LAPACK 和 BLAS 函数 以下示例使用两个矩阵 并通过调用 BLAS 例程 dgemm 将这两个矩阵相乘 要运行该示例 请将代
  • java生成excel文件并写入数据(附csv)

    写一个超级简单粗暴的小代码了 直接看吧 public static void createxlsFile String filePath String fileName String suffix Map
  • 析构函数详解

    析构函数详解 析构函数的概念 前面通过构造函数的学习 我们知道一个对象是怎么来的 那一个对象又是怎么没呢的 析构函数 与构造函数功能相反 析构函数是完成对象的销毁 局部对象销毁工作是由编译器完成的 而对象在销毁时会自动调用析构函数 完成类的
  • 打砖块游戏实验报告Android,增强学习系列之(三):实现一个打砖块的游戏

    1 Acknowledgement 本篇文章中神经网络的结构主要来自于DeepMind的这篇论文 https www cs toronto edu vmnih docs dqn pdf 2 实现效果 我们要实现的这个游戏 在openai的g
  • 服务器虚拟环境的搭建

    pip 清华镜像 pip install tensorflow i https pypi tuna tsinghua edu cn simple cuda 查看cuda 版本 cat usr local cuda version txt c
  • 常用采样方法

    常用采样方法 最近在学习 MCMC 一种特殊的采样方法 顺便把其他常用的方法了解了一下 为什么要采样 很多问题 我们只需要使用数学解析的方法即可解决 例如对 f x 做积分 如果 f x x 2 那么直接积分就行 很简单 若f x 是标准正
  • 系列:6、Kubernetes 的升级与部署策略

    Kubernetes 的升级与部署策略 以下将一起介绍Kubernetes的升级与部署策略 1 节点升级和驱逐 Node Upgrade and Eviction 您将如何升级节点通常取决于您如何设置集群 如果使用 kubeadm 工具设置
  • 理解数据库范式

    数据库范式是数据库 设计 中必不可少的知识 没有对范式的理解 就无法设计出高效率 优雅的数据库 甚至设计出错误的数据库 而想要理解并掌握范式却并不是那 么容易 教科书中一般以关系代数的方法来解释数据库范式 这样做虽然能够十分准确的表达数据库
  • 0成本搭建自己的云数据库

    第一步 租免费的云服务器 www aliyun com 阿里云的 可以免费租三个月 进入主页后选择云服务器ESC 选择这款 点击试用就行 第二步 配置服务器 在配置服务器系统的时候选择centos 省事 别选ubuntu 很麻烦的 然后就是
  • python selenium控制浏览器打开网页 模拟鼠标动作

    selenium 是一个浏览器控制的库 需要下载安装 谷歌浏览器的驱动 chromedriver https sites google com chromium org driver downloads 在这里选择跟自己谷歌浏览器版本号一致