码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python selenium控制浏览器打开网页 模拟鼠标动作


    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浏览器并且访问百度首页:

    1. from selenium import webdriver
    2. url = "https://www.baidu.com"
    3. driver = webdriver.Chrome()
    4. driver.get(url)

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

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

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

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

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

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

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

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

    最后记得施放资源

    driver.quit()

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

  • 相关阅读:
    git merge 如何撤销
    2022世界机器人大会开幕,有屋智能主动终止IPO,《2022人工智能发展白皮书》发布,2022可穿戴设备出货量将达3.44亿台
    【PR #5 A】双向奔赴(状压DP)
    四旋翼无人机的飞行原理--【其利天下分享】
    【智能家居】东胜物联ODM定制ZigBee网关,助力能源管理解决方案商,提升市场占有率
    RocketMQ特性--Broker是如何存储事务消息的?
    Matlab常用字符串操作教程
    ChatGPT助手:写作无忧
    CocoaPods使用详解
    杭电oj--数列有序
  • 原文地址:https://blog.csdn.net/u014017080/article/details/132756494
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号