• 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()

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

  • 相关阅读:
    【ML07】Linear Regression using Scikit-Learn
    深度学习入门(一)之感知机
    SQL中通过QUALIFY语法过滤窗口函数简化代码
    VScode+esp-idf:例程(esp32-web-camera)保存图片到sd卡
    操作系统06-运行机制
    一天的忙碌,一路的飞翔,我的回家之旅
    xss-labs/level6
    java之集合
    如何让一个uniform variable在多级shader中都起作用(类似C语言的全局变量)?
    Jetpack LiveData源码分析
  • 原文地址:https://blog.csdn.net/u014017080/article/details/132756494