202010-09 Python Selenium实现无可视化界面过程解析 无可视化界面的意义有时候我们爬取网页数据,并不希望看其中的过程,只想看到最后的数据结果就可以了,这时候,***面就很有必要了!代码如下fromseleniumimportwebdriverfromtimeimportsleep#实现无可视化界面fromselenium.webdriver.chrome.optionsimportOptions#实现规避检测fromselenium.webdriverimportChromeOptions#实现无可视化界面的操作chrome_options=Options()chrome_options.add_argument('--headless')... 继续阅读 >
202010-09 如何在selenium中使用js实现定位 学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位使用js定位的时候是用DOM树定位方式eg:document.getElementById("su");这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的接下来就是正题:selenium中执行js脚本:第一步首先强转成JavascriptExcetor:JavaScriptExecutorjs=(JavascriptExecutor)driver;然后用此JavascriptExc... 继续阅读 >
202010-09 Python selenium如何打包静态网页并下载 需求:单纯的将page.source写入文件的方式,会导致一些图片无法显示,对于google浏览器,直接将页面打包下载成一个mhtml格式的文件,则可以进行离线下载。对应pythonselenium微信公众号历史文章随手一点就返回首页?郁闷之下只好将他们都下载下来。:https://www.jb51.net/article/193111.htm遇到的问题:1、单纯使用webdriver.ActionChains无法完成下载动作,未能操作windows窗口。2、没有找到相关能直接下载.mhtml的命名接口。... 继续阅读 >
202010-09 Python selenium爬取微信公众号文章代码详解 参照资料:seleniumwebdriver添加cookie:https://www.jb51.net/article/193102.html需求:想阅读微信公众号历史文章,但是每次找回看得地方不方便。思路:1、使用selenium打开微信公众号历史文章,并滚动刷新到最底部,获取到所有历史文章urls。2、对urls进行遍历访问,并进行下载到本地。实现1、打开微信客户端,点击某个微信公众号->进入公众号->打开历史文章链接(使用浏览器打开),并通过开发者工具获取到cookies,保存为ex... 继续阅读 >
202010-09 基于python requests selenium爬取excel vba过程解析 目的:基于办公与互联网隔离,自带的office软件没有带本地帮助工具,因此在写vba程序时比较不方便(后来发现07有自带,心中吐血,瞎折腾些什么)。所以想到通过爬虫在官方摘录下来作为参考。目标网站:https://docs.microsoft.com/zh-cn/office/vba/api/overview/所使工具:python3.7,requests、selenium库前端方面:使用了jquery、jstree(用于方便的制作无限层级菜单设计思路:1、分析目标页面,可分出两部分,左边时导航,右边是内... 继续阅读 >
202010-09 Selenium webdriver添加cookie实现过程详解 一.webdriver中常用的cookie方法webdriver中提供了操作cookie的相关方法:get_cookies()获得cookie信息add_cookie(cookie_dict)添加cookiedelete_cookie(name)删除特定(部分)的cookiedelete_all_cookies()删除所有的cookie二.add_cookie()的用法1.源码中的解释源码中简略的向我们展示了如何添加cookie,源码如下:defadd_cookie(self,cookie_dict):"""Addsacookietoyourcurrentsession.:A... 继续阅读 >
202010-09 搭建 springboot selenium 网页文件转图片环境的详细教程 1.环境准备需要有chrome浏览器+chromedriver+selenium客户端离线chrome下载地址#64位linux系统https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm#64位weindow系统http://www.google.cn/chrome/browser/desktop/index.html?standalone=1&platform=win64#32位weindow系统http://www.google.cn/chrome/browser/desktop/index.html?standalone=1&platform=win#官网chromedri... 继续阅读 >
202010-09 Selenium alert 弹窗处理的示例代码 selenium提供switch_to_alert方法:捕获弹出对话框(可以定位alert、confirm、prompt对话框)switch_to_alert() --定位弹出对话框text() --获取对话框文本值accept() --相当于点击“确认”dismiss() ... 继续阅读 >
202010-08 python中selenium库的基本使用详解 什么是seleniumselenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera等。selenium是一套完整的web应用程序测试系统,包含了测试的录制(seleniumIDE),编写及运行(SeleniumRemoteControl)和测试的并行处理(SeleniumGrid)。Selenium的核心SeleniumCore基于JsUnit,完全由JavaSc... 继续阅读 >
202010-08 Selenium之模拟登录铁路12306的示例代码 最近接触了一些selenium模块的相关知识,觉得还挺有意思的,于是决定亲自尝试写一些爬虫程序来强化selenium模块(一定要多尝试、多动手、多总结)。本文主要使用python爬虫来模拟登录铁路12306官网。这儿得吐槽一句,铁路12306网站的反爬机制做的还是比较好。话不多说,下面跟小墨一起来学习如何通过爬虫来实现铁路12306的登录。一、验证码破解当我们输入账号和密码后,在点击登录按钮之前,还需要对验证码进行操作。对验证码的识... 继续阅读 >
202010-08 Python selenium键盘鼠标事件实现过程详解 引言----在实际的web测试工作中,需要配合键盘按键来操作,webdriver的keys()类提供键盘上所有按键的操作,还可以模拟组合键Ctrl+a,Ctrl+v等。举例:#cording=gbkimportosimporttimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy#导入by方法fromselenium.webdriver.common.action_chainsimportActionChains##对鼠标事件操作fromselenium.webdriver.common.keysimportKeys#对键盘事件... 继续阅读 >
202010-08 Selenium python时间控件输入问题解决方案 对于时间的选择问题,查到的大部分为两种情况:1.存在readonly属性的2.没有readonly属性的可直接赋值send_keys()测试用例中刚好是没有readonly属性的且定位不到弹窗(通过查资料可知道,直接给时间控件input属性赋值是最快捷的方法)一开始都是奔着情况二去处理的,但一直运行不成功,总是在赋值的地方出错,反复确认了不存在iFrame,句柄也都是一样的,时间控件为input属性,且是可编辑属性,但就是总报错。判断是否可编辑的指令... 继续阅读 >
202010-08 基于selenium及python实现下拉选项定位select 1、Select元素2、定位select方法一:二次定位先定位select框,再定位select里的选项但有时候选项是无法定位的,所以不是很好用方法二:直接定位定位到select后,下方查看元素属性地方,点select标签前面的+号或者箭头,就可以展开里面的选项内容了。自己写xpath定位或者css,一次性直接定位到option上的内容。方法三:Select模块(index)点位1.先要导入select方法:fromselenium.webdriver.support.selectimpo... 继续阅读 >
202010-08 Selenium及python实现滚动操作多种方法 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了。当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。滚动条是无法直接用定位工具来定位的。selenium里面也没有直接的方法去控制滚动条,这时候只能借助J了,还好selenium提供了一个操作js的方法:execute_script(),可以直接执行js的脚... 继续阅读 >
202010-08 python上selenium的弹框操作实现 selenium之弹框操作1,分类弹框类型自见解分为四种:1,页面弹框2,警告提示框(alert)3,确认消息框(confirm)4,提示消息对话(prompt)提示:selenium提供switch_to_alert()方法定位到alert/confifirm/prompt对话框。2,操作1,页面弹框页面弹框是属于HTML里面的元素,它是由用户在操作页面的时候在本页面弹出的。所以科研直接在页面上定位到步骤:1,用户操作后,弹出页面弹框2,直接定位弹框元素,进行操作以下是例示代... 继续阅读 >
202010-08 Python3爬虫中Selenium的用法详解 Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。对于一些JavaScript动态渲染的页面来说,此种抓取方式非常有效。本节中,就让我们来感受一下它的强大之处吧。1.准备工作本节以Chrome为例来讲解Selenium的用法。在开始之前,请确保已经正确安装好了Chrome浏览器并配置好了ChromeDriver。另外,还需要正确安装好Python的Sel... 继续阅读 >