爬虫(10)selenium上 模拟登录豆瓣案例

第十章 selenium上模拟登录豆瓣案例

1. 驱动安装

selenium介绍:selenium是一个web的自动化测试工具,最初是为网站自动化测试而开发的,selenium可以直接运行在浏览器上,它支持所有主流的浏览器,可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。需要配合浏览器驱动使用。chromedriver是一个驱动Chrome浏览器的驱动程序,使用他才可以驱动浏览器。当然针对不同的浏览器有不同的driver。以下列出了不同浏览器及其对应的driver:

  • Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads
  • Firefox:https://github.com/mozilla/geckodriver/releases
  • Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
  • Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/
  • 下载chromedriver
  • 百度搜索:淘宝镜像(https://npm.taobao.org/)
  • 安装总结:https://www.jianshu.com/p/a383e8970135
  • 安装Selenium:pip install selenium 也可以换源安装:
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium
    这个是清华的源,也可以用别的源。

1.1 Phantomjs快速入门

无头浏览器:一个完整的浏览器内核,包括js解析引擎,渲染引擎,请求处理等,但是没有显示和用户交互的界面。
我们需要下载Phantoumjs驱动,解压缩后,把驱动exe文件放到python的根目录文件夹里面,因为这个文件夹已经添加到环境变量里了。
案例:打开百度。

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('https://www.baidu.com/')

显示结果

D:\Python38\python.exe D:/work/爬虫/Day10/my_code/Phantojs_getin.py
D:\Python38\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py:49: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
  warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

Process finished with exit code 0

其实,百度网页已经被打开过了,只是你没有看见,因为Phantomjs没有显示功能。但有一个截屏功能。我们演示一下。

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('https://www.baidu.com/')
driver.save_screenshot('baidu.png')

在我的目录里就多了一个“baidu.png”的文件。
在这里插入图片描述
点开可以看到截屏
在这里插入图片描述
一个没有登录过的界面。
下面我们操作一下输入框,那么我们先要找到输入框的位置。通过定位的方式,直接在百度界面右键》检查》元素定位符,定位一下输入框,就可以得到位置。我们可以通过id="kw"标签来定位它。
代码:

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('https://www.baidu.com/')
# 操作输入框࿰
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值