python+selenium牛刀小试之自动化模拟网站广告点击
做任何一件事我们有目的才可以做到事半功倍,我们学习的时候也要带着自己想要的结果以及问题去学习,才可以让你更快的掌握一门知识。这次我主要是带大家实现通过自动化selenium模拟人工点击网站广告。以下内容均在python2.7版本环境下
涉及的知识点主要有以下几点
①selenium之模拟Chrome浏览器包含安装加使用
②selenium 操作框架和窗口
③selenium的智能等待时间
④selenium操作滚动条
⑤使用xpath进行元素定位
一。selenium之模拟Chrome浏览器包含安装加使用
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,这样也可以让我们不容易被网站服务器发现,其他请自行百度。
①安装selenium
如果大家安装了python的下载工具pip之后可以直接在cmd窗口使用
pip install selenium
来安装selenium包,这里有一个小技巧大家可以在任何地方使用shift+右键 打开cmd窗口执行上述命令
②安装Chrome和Chromedriver驱动
Chromedriver驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
Chromedriver与Chrome对应版本可看每个版本的notes文件,一定要对应上否则会报错的
Chrome浏览器安装:https://www.google.cn/chrome/ (可能需要梯子)
Chromedriver下载后放在哪里?可以放在Chrome安装目录下:C:\Program Files (x86)\Google\Chrome\Application
from selenium import webdriver
driver = webdriver.Chrome() #使用Chrome浏览器
driver.maximize_window() #窗口最大化
二。selenium 操作框架和窗口
selenium操作框架和窗口都用的是switch_to方法,以前是switch_to_frame/switch_to_windows但这个已经被替换
这个一般在有框架的页面使用,使用方法如下:
#②也可以使用切换框架的方法进入,然后选择自己想要的# driver.switch_to.frame("ifr2100668")#driver.switch_to.default_content() #跳出框架
有时会点击代码后进入另一个窗口,当值如果你还停留在原来的界面的话,一直获取不到你想要的数据,这时你就要看看是不是切换了窗口,一些简单操作如下:
#①切换到点击后的新窗口,如果没有这一步始终不会定位到广告链接for handle in driver.window_handles:driver.switch_to.window(handle)#②或者采用这一种方法,driver.window_handles[0]为第一个handle:#driver.switch_to.window(driver.window_handles[1])
关于操作框架和窗口的操作可以详见python官方文档:
python selenium
三。selenium的智能等待时间
智能时间等待
driver.implicitly_wait(30)
使用这个智能等待时间可以比time.sleep()更加灵活,更加智能
四。selenium操作滚动条
对于有的网站存在滚动条的话,我们可以通过如下方法来操作滚动条,从而找到一些隐藏的东西
#间断性的下拉滚动窗口 for i in range(0,10000,1000):js = "var q=document.documentElement.scrollTop="+ str(i)driver.execute_script(js)time.sleep(1)
五。使用xpath进行元素定位
使用xpath进行元素定位,是在python selenium自动化中最常见的方法,这个很多大神前辈应该已经发表过这样的方法和学习教程,这里小编只给大家讲解下小白利用谷歌浏览器快速获取xpath的方法。
1.使用谷歌浏览器,按住F12找到对应的源码,然后对对应的元素进行右键,会有一个copy xpath操作,就会很容易的搞到正确的xpath,这样做效率高,正确度也很高。
六。写在最后
模拟网站广告点击的demo小编暂时放在了公众号里,日后有时间会更新到GitHub中,如有问题欢迎大家批评指正。
小编学习公众号:随手学课堂(suishouxuekt),在该公众号回复“广告”即可获取demo
小编福利公众号:随手学驿站(suishouxueyizhan),发布互联网福利资源,致力于分享最实惠的福利信息。
小编个人博客:随手学课堂
python+selenium牛刀小试之自动化模拟网站广告点击相关推荐
- pythonselenium教程模拟鼠标和键盘_【02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!...
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...
- Python + Selenium + Chrome Driver 自动化点击+评论+刷弹幕(仅供学习)
Python + Selenium + Chrome Driver 自动化点击 评论 刷弹幕 首先说明,这篇博文仅供学习!仅供学习!仅供学习! 不要拿去做其他事,封号概不负责!!! 突发奇想 首先先说 ...
- 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法
by Joyz 通过乔伊斯 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法 (A recipe for website automated ...
- Python+Selenium+phantomjs实现网页模拟登录和截图
Python+Selenium+phantomjs实现网页模拟登录和截图 本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言,它可以运行在Windo ...
- 基于python+selenium,实现自动化沙袋校园出入备案
基于python+selenium,实现自动化出入校园报备 背景-饿肚子的胡思乱想 selenium的安装 程序实现和问题解决 没有解决的问题和改进方向 源代码 背景-饿肚子的胡思乱想 昨天考完试,我 ...
- 提高网站提高网站广告点击率的几个可行方法
在网站投放广告联盟的广告可能是大多数个人站长将流量变现的一个最重要渠道,所以提高网站广告点击率对我们来说显得尤为重要.很多站长都是在网站的模板上随意放置广告代码,这样就会造成广告点击率不高,进而降低了 ...
- python+selenium实现UI自动化(一)
一.selenium selenium官方网站 selenium ide 录制工具. 火狐/google/edge插件 selenium webdriver 结合代码来编写自动化用例.提供很多在浏 ...
- Python+selenium第一个自动化脚本
第一个自动化脚本(用Python写的) from selenium import webdriver #从selenium导入webdriber driver=webdriber.Firefox() ...
- centos7配置不开启浏览器执行基于python+selenium的功能自动化脚本
一)软件环境 python 3.7 selenium 3.11 geckodriver 0.21.0 //将其放置于/usr/bin目录下 firefox 62.0 //将其主目录 ...
最新文章
- 正则表达式校验IP地址
- java ssh文件下载_Java使用SSH从远程服务器下载文件
- INotifyPropertyChanged 接口 CallerMemberName属性
- 分享一个Vant Weapp小程序UI组件库
- 计算机无法正常更新,无法完成更新正在撤销更改请不要关闭你的计算机如何修复...
- (论文阅读笔记1)Collaborative Metric Learning(二)(WWW2017)
- python按位与怎么算_python 的按位与、或、异或 运算
- Mac 有道词典 无法取词、划词
- AcWing 棋盘挑战 dsf
- 【高中数学】数列 · 通项求法
- BootstarpTable在IE11的兼容问题
- 14、微信小程序——上传、预览、长按删除图片
- Ubuntu 22.04 dektop 开启root并自动登录桌面
- 妻子和鱼----海子
- 【错误汇总】PYTHON开发
- 51智能小车黑线寻迹(防出线)
- PVID(pvid vlan是什么意思)
- 变分推断 (Variational Inference) 解析
- 动态脑电图(Ambulatory EEG)及其工作过程、数据处理
- win7快捷图标显示异常的解决方法
热门文章
- 华硕FN键补充应用下载-可以在windows的应用商店寻找进行下载,安装。-asus-keyboard Hotkeys
- omv5没有MySQL插件_omv4通过插件安装的plex无法启动了
- 解决Tomcat启动失败:严重 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException 初始化组件失败
- BCS 2022大湾区网络安全峰会 | 美创CTO分享数据安全风险治理实践
- 【JVM学习笔记】垃圾回收基础篇
- 浅谈电信运营商BMO融合
- 电话机有些故障,用户完全可以自己修好。下面介绍几例,读者遇到类似情况,可以自己动手试试。
- 5万字用纯C语言从零开始实现人脸检测
- mt950报文解析_MT9**报文学习小结
- Excel 2010 SQL应用041 根据二代身份证号返回出生年份