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