介绍介绍今天福哥要带着大家学习如何使用selenium去调用部署在Docker环境里面的Chrome浏览器的方法。为什么我们要把chromedriver部署到Docker里面呢?因为把Chrome浏览器部署到Docker里面有如下几个优点:不用担心Chrome升级导致的需要手动升级chromedriver驱动的问题。部署方便,Chro...
介绍介绍Python的selenium库是可以实现用代码模拟用户上网行为的功能,所以Python的selenium库的使用技巧成为了大部分测试工程师的必备技能。Python的selenium通过chromedriver驱动可以使用Python代码启动浏览器、打开网页、读取网页数据、提交用户表单、登录网址平台等等用户日常的上网行为,这就...
介绍介绍福哥要做一个自动化测试的脚本来对网站的功能进行了全面的测试,很多人一下会想到通过curl之类的方式去请求服务器页面,通过代码模拟浏览器?不就是发送 GET/POST 请求吗?一开始,福哥也是这样认为的,直到学习了python的selenium,才体会到“无界面浏览器操作模拟”的神奇,今天就跟着福哥学习一下如何使用seleniu...
介绍介绍福哥要做一个自动化测试的脚本来对网站的功能进行了全面的测试,很多人一下会想到通过curl之类的方式去请求服务器页面,通过代码模拟浏览器?不就是发送 GET/POST 请求吗?一开始,福哥也是这样认为的,直到学习了python的selenium,才体会到“无界面浏览器操作模拟”的神奇,今天就跟着福哥学习一下如何使用seleniu...
介绍介绍我们在使用seleniuim去驱动Chrome浏览器的时候,需要针对电脑上面的Chrome浏览器的版本选择对应的chromedriver驱动,这样selenium才能正常驱动Chrome浏览器实现被我们的程序自动操作的目的。但是我们的电脑上面的Chrome会不断升级的,这样一来就要配合Chrome浏览器不断地升级chromed...
介绍介绍福哥在使用selenium去爬取网页的时候发现有的网站的结构设计的非常复杂,如果使用chrome自带的find_element_by_xxx方法想要得到目标元素简直比登天还难。福哥就想如果可以在抓取的网站上面加一段JavaScript代码就好了,福哥就可以随心所欲地玩弄页面上面的元素了。福哥在翻阅文档的时候发现了chrome的...
介绍介绍福哥在使用selenium实现页面爬取的时候发现遇到包含框架(frame)的网页时候就无法通过find_xxx方法得到页面上的元素,这可真是麻烦了啊!福哥在使用F12调试前端的时候发现在调试面板的控制台栏里就可以选择页面上面的任意一个框架(frame)作为当前框架,如果selenium也可以选择页面上面的框架就好了!经过一番折...
介绍介绍之前福哥给大家讲过关于Python的selenium库的使用技巧,通过selenium库可以调用浏览器打开网页并且进行自动化操作的方法。selenium库有个headless模式,就是headless模式下不会弹出浏览器窗口,可以让自动化过程更像一个命令行程序在运行。不过这个headless模式下在终端会打印巨多的控制台信息,...
介绍介绍福哥在使用selenium的时候遇到了一个问题,就是页面有些元素和数据是通过AJAX渲染的,而且采用的是异步加载的方式实现的AJAX功能,这样在selenium认为页面已经加载完成了的时候其实数据还没有渲染上,这个可愁坏福哥了!经过研究发现selenium有两个功能就是可以实现福哥想要的效果,一个是WebDriverWait对...
介绍介绍福哥更新了Spider对象,实现了爬取网页内容,分析网页数据,写入数据库这些功能。实现了这些功能之后网页蜘蛛的基本功能也就差不多完成了!后面就可以开始编写搜索引擎的前端UI功能了,相对网页蜘蛛来说,搜索引擎前端UI就比较简单了!但是,网页蜘蛛是搜索引擎的基础,只有采集到足够多的数据,搜索引擎才可以在也会查询的时候返回用户想看到...
介绍介绍福哥今天给大家讲讲关于Python编程中的字符串编码转换的问题,这个问题在初学者编程时候会经常遇到,如果要弄清楚这里面的道道,还是需要好好学习一下的什么是编码所谓编码就是计算机标记一个汉字(或者是其他国家的文字)对应的数字,在不同编码里同样的一个汉字会对应不同的数字,比如:“福哥”在gbk编码里对应的是“205 172 184...
介绍介绍上一堂课福哥给大家展示了一个半成品的蜘蛛对象Spider,今天我们继续。做事要有目标,并努力使之达成!今天我们的目标就是:实现网页的爬取分析并将内容保存到webpages数据表当中;将提取出来的子级页面的超链接保存到webpages里面;Spider对象福哥对Spider对象的功能进行了完善,包括一些新的方法(函数)的定义和一...
介绍介绍昨天我们明白了网页蜘蛛的工作原理,今天就可以开始根据这个原理进行代码的编写了。虽然python也可以编写面向过程的程序,但是使用面向对象的方式编写程序是一个好的习惯,它更加可以满足各种复杂的业务逻辑的需要,同时代码也更容易读懂。福哥要先开发网页蜘蛛程序,所以先建立一个Spider对象,用它来实现网页蜘蛛的全部功能。Spider...