202009-27 Selenium使用Chrome模拟手机浏览器方法解析 在使用Chrome浏览网页时,我们可以使用Chrome开发者工具模拟手机浏览器,在使用Selenium操作Chrome时同样也可以模拟手机浏览器。主要有以下两种用途。测试H5页面在不同分辨率设备上的显示情况是否正常爬取数据(一般网站对移动设备浏览的反爬教弱)使用指定设备操作方法非常简单,在ChromeOptions()浏览器选项,添加实验选项,mobileEmulation选项中通过devicename指定选择的设备即可,操作代码如下。fromseleniumimportwebdriv... 继续阅读 >
202009-27 Selenium基于PIL实现拼接滚动截图 Selenium默认的截图save_screenshot只支持对当前窗口内容进行截图,当如果你想要截取整个网页,那么,可以明确的告诉你。Selenium做不到。你可以手工使用开发者工具Ctrl+Shift+P调出命令行菜单,执行Capturefullscreenshot命令进行截图,如下图图:也可以通过SeleniumWebdriver的execute_cdp_cmd()来调用一下ChromeDevToolsProtocal提供的方法。但是,很遗憾,没有全屏截图的方法。Selenium2时,还可以使用Firefox全屏截图。... 继续阅读 >
202009-27 Selenium向iframe富文本框输入内容过程图解 前言在使用Selenium测试一些CMS后台系统时,有时会遇到一些富文本框,如下图所示:整个富文本编辑器是通过iframe嵌入到网页中的,手动尝试输入内容,发现内容是输入到iframe页面的body中的,这种富文本框怎么输入呢?我们也可以直接在body的源码上点击右键选择EditHTML,输入相应的html代码,达到向富文本框输入的目的,如下下图:以下是使用Selenium的操作方法只输入纯文本如果只输入不带格式的纯文本,可以先切换到这个iframe,然... 继续阅读 >
202009-27 python+selenium+chromedriver实现爬虫示例代码 下载好所需程序1.Selenium简介Selenium是一个用于Web应用程序测试的工具,直接运行在浏览器中,就像真正的用户在操作一样。2.Selenium安装方法一:在Windows命令行(cmd)输入pipinstallselenium即可自动安装,安装完成后,输入pipshowselenium可查看当前的版本方法二:直接下载selenium包:selenium下载网址Pychome安装selenium如果出现无法安装,参考以下博客解决Pycharm无法使用已经安装Selenium的问题3.禁止谷歌浏览器自动... 继续阅读 >
202009-25 linux 下selenium chrome使用详解 安装chromewgethttps://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpmyuminstall./google-chrome-stable_current_x86_64.rpmyuminstallmesa-libOSMesa-develgnu-free-sans-fontswqy-zenhei-fonts安装chromedriver淘宝源(推荐)wgethttp://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zipunzipchromedriver_linux64.zipmovechromedriver/usr/bin/chmod+x/usr/bin/chromed... 继续阅读 >
202009-25 Selenium执行Javascript脚本参数及返回值过程详解 在Selenium中可以使用drvier.execute_script()来执行Javascript脚本,支持多行语句。使用Javascript可以实现以下功能:移除元素隐藏、禁用、只读等限制属性为元素添加id或高亮样式页面滚动富文本框输入(HTML注入)获取页面信息使用Javascript参数在使用Javascript语句时,还可以动态传入参数或元素对象,Javascript语句中使用占位符“argument[n]”来表示取第几个参数,如:js="arguments[0].setAttribute('style',... 继续阅读 >
202009-25 selenium+chromedriver在服务器运行的详细教程 1.前言想使用selenium从网站上抓数据,但有时候使用phantomjs会出错。chrome现在也有无界面运行模式了,以后就可以不用phantomjs了。但在服务器安装chrome时出现了一些错误,这里总结一下整个安装过程2.ubuntu上安装chrome#InstallGoogleChrome#https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-linesudoapt-getinstalllibxss1libappindicator1libindicator7wgethttps://dl.g... 继续阅读 >
202009-25 Python + selenium + crontab实现每日定时自动打卡功能 前言近几日迫于被辅导员三番五次的提醒每日一报打卡,就想着去写个脚本挂在服务器上定时执行。经过我不懈的努力,最终选择了seleniumseleniumselenium,因为简单(安装selenium库$sudopipinstallselenium安装chromdriver因为我有代理所以直接在官网下载的,那这里你可以选择用淘宝镜像源。这里为了方便,我直接放命令了。Chromedriver版本我这里选择的是80.0.3987.16(注意要和一会儿下载的Chrome版本一致)。下载$wgethttps://... 继续阅读 >
202009-24 selenium+python配置chrome浏览器的选项的实现 1.背景在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。常用的行为有:禁止图片和视频的加载:提升网页加载速度。添加代理:用于翻墙访问某些页面,或者应对IP访问频率限制的反爬技术。使用移动头... 继续阅读 >
202009-24 python selenium操作cookie的实现 由于HTTP协议是无状态协议,所以服务器与客户端通过http协议通讯时,服务器不能记录客户端的信息。为了解决这个问题,通过Cookie和Session技术来实现。Cookie保存在客户端中Session保存在服务器中cookie的属性一般cookie所具有的属性,包括:Domain:域,表示当前cookie所属于哪个域或子域下面。对于服务器返回的Set-Cookie中,如果没有指定Domain的值,那么其Domain的值是默认为当前所提交的http的请求所对应的主域名的。... 继续阅读 >
202009-24 Selenium 滚动页面至元素可见的方法 滚动页面在自动化操作中,如果web页面过长,而我们需要的元素并不在当前可视页面中,那么selenium就无法对其进行操作;此时,我们就需要像平时操作浏览器一样来滚动页面,使我们需要操作的对象可见!滚动页面的方法:window.scrollBy()window.scrollBy(0,500) 向下滚动500个像素window.scrollBy(0,-500)向上滚动500个像素window.scrollBy(500,0) 向右滚动500个像素window.scroll... 继续阅读 >
202009-24 Selenium 滚动页面至元素可见的方法 滚动页面在自动化操作中,如果web页面过长,而我们需要的元素并不在当前可视页面中,那么selenium就无法对其进行操作;此时,我们就需要像平时操作浏览器一样来滚动页面,使我们需要操作的对象可见!滚动页面的方法:window.scrollBy()window.scrollBy(0,500) 向下滚动500个像素window.scrollBy(0,-500)向上滚动500个像素window.scrollBy(500,0) 向右滚动500个像素window.scroll... 继续阅读 >
202009-24 Python3+selenium实现cookie免密登录的示例代码 进过两天的研究终于实现了cookie的免密登录,其实就是session。特别开心,因为在Python爬虫群里问那些大佬,可是他们的回答令我寒心,自己琢磨!!!靠谁比如靠自己,为此我总结下经验,以免入门的小白再次踩这样的吭。其实网上很多博客写的都比较不详细甚首先问题自己思考,不懂得去群里问问,然后最重要的要理解事物的本质,只有理解后才能运用它;最后在百度一下把所有相关的博客都点开,一条一条的看一遍总结下规律,比较喽的... 继续阅读 >
202009-24 Selenium启动Chrome时配置选项详解 Selenium操作浏览器是不加载任何配置的,网上找了半天,关于Firefox加载配置的多点,Chrome资料很少,下面是关于加载Chrome配置的方法:一、加载所有Chrome配置用Chrome地址栏输入chrome://version/,查看自己的“个人资料路径”,然后在浏览器启动时,调用这个配置文件,代码如下:#coding=utf-8fromseleniumimportwebdriveroption=webdriver.ChromeOptions()option.add_argument('--user-data-dir=C:\Users\Administrator\A... 继续阅读 >
202009-24 python+selenium+Chrome options参数的使用 ChromeOptions常用的行为一般有以下几种:禁止图片和视频的加载:提升网页加载速度。添加代理:用于翻墙访问某些页面,或者应对IP访问频率限制的反爬技术。使用移动头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。添加扩展:像正常使用浏览器一样的功能。设置编码:应对中文站,防止乱码。阻止JavaScript执行...ChromeOptions是一个配置chrome启动时属性的类,通过这个参数我们可以为Chrome添加如下参数... 继续阅读 >
202009-24 selenium WebDriverWait类等待机制的实现 在自动化测试脚本的运行过程中,可以通过设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三种:一、固定等待(time)固定待是利用python语言自带的time库中的sleep()方法,固定等待几秒。这种方式会导致这个脚本运行时间过长,不到万不得已尽可能少用。(注:脚本调试过程时,还是可以使用的,方便快捷)fromseleniumimportwebdriverimporttime#驱动浏览器driver=webdriver.Chrome()#设置... 继续阅读 >