一.使用无界面模式 1.正常情况启动 selenium 是有界面的 2.有些情况下,需要不显示界面,这时只要设置一下参数就可以实现了 # 不想显示界面可以用 Chrome——配置一下参数就好 from selenium import webdriver from selenium.webdriver.chrome.options import Options def main(): chrome_options = Options() chrome_options.add_argument('-…
以Chrome浏览器为例: 方法一: from selenium.webdriver import Chrome, ChromeOptions opt = ChromeOptions() # 创建Chrome参数对象 opt.headless = True # 把Chrome设置成可视化无界面模式,windows/Linux 皆可 driver = Chrome(options=opt) # 创建Chrome无界面对象 driver.get('http://www.baidu.com')prin…
简介: 以前都用PhantomJS来进行无界面模式的自动化测试,或者爬取某些动态页面. 但是最近selenium更新以后,'Selenium support for PhantomJS has been deprecated, please use headless '提示不支持PhantomJs,请使用headless模式. 好吧,我们还是继续使用firefox chrome的headless模式吧. 一:版本确认 1.windows下 selenium  3.9.0 我使用这个版本的sele…
环境准备 前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定.于是想到用chrome来了的headless无界面模式,确实方便了不少. 为了提高自动化运行的效率和稳定性,于是把selenium自动化环境部署到linux服务器上,这样更方便. 环境: centons 7.6 python 3.6 chrome 77.0.3865.90 chromedriver 77.0.3865.40 selenium 3.14 安装最新版chrome 方法一:下载到本地后安装 先下载…
环境:docker centos 7.4 能通外网 写好的selenium脚本. 具体步骤: 一:安装selenium  这是最简单的 直接利用 pip3 install selenium 二 安装chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 三 安装chrome-driver 首先查看自己的chrome版本,因为是安装的稳定版  yum list | g…
from selenium.webdriver.chrome.options import Options from selenium import webdriver # 无界面模式 def ChromeDriverNOBrowser(): chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') driverChrome =…
引入Options: 配置浏览器: 配置浏览器options,然后传入webdriver.Chrome()就可以成功使用了.…
环境:Python 3.5.x + Selenium 3.4.3 + Chromedriver 2.30 + Chrome 60 beta版 + WIN7/WIN10 chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') driver = webdriver.Chrome(chrome_options=chrome_options) 代码很简单,只是环境要强调说明一下,Chrome…
java selenium搭建无界面浏览器 1.http://phantomjs.org/ 下载windows版phantomjs 2.解压后bin目录下会有exe文件 3.测试代码: package se; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.phantomjs.PhantomJSDriver; pub…
Method1: from selenium import webdriver # 创建chrome参数对象opt = webdriver.ChromeOptions() # 把chrome设置成无界面模式,不论windows还是linux都可以,自动适配对应参数opt.set_headless() # 创建chrome无界面对象driver = webdriver.Chrome(options=opt) # 访问百度driver.get('https://baidu.com/') #打印内容p…
selenium在linux上无界面运行,其实是非常简单的.具体的方法有使用HtmlUnitDriver或者PhantomJSDriver,有时间我会写写关于这两个东东的文章,其实基本和ChromeDriver 和FirefoxDriver是一样的.但是有些人或者会比较排斥他们说HtmlUnitDriver对JS支持不好,PhantomJSDriver估计也很少有人用,其实他是对Phantomjs的封装,对这些不做多过评论,我用下来感觉还好. 还有另一种方法,就是使用XVFB, 有人说XVFB是…
环境:Python 3.5.x + Selenium 3.4.3 + Chromedriver 2.30 + Chrome 60 beta或Chromium Canary 61 + WIN10 Chrome启用无界面浏览模式时,自定义插件是没法加载的,会报以下错误: selenium.common.exceptions.WebDriverException: Message: unknown error: failed to wait for extension background page…
本来想直接用Ubuntu系统里面的firefox来实现selenium自动操作签到的,但是总是出各种问题.没办法,改为Chrome.参考:Ubuntu 线上无界面服务器 使用selenium chrome + headless 但是过程还是遇到一些问题,主要有: 1.chrome驱动上传问题,按教程说的传到/usr/bin,可是却传不上去,换了几个SSH工具都一样,后来发现是权限问题,可以用 chmod 777 XXX 修改权限. 2.运行py文件时又是权限问题,继续用chmod修改驱动权限.…
selenium是一个Web的自动化测试工具,它可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生.但是它自身不带浏览器,不支持浏览器的功能,因此它需要与第三方浏览器结合在一起才能使用.当selenium升级到3.0之后,对不同的浏览器驱动进行了规范.如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动.本文以Chrome浏览器为例,需要安装驱动chromedriver 一.安装selenium sudo pip3 i…
chromeDriver下载地址:http://chromedriver.storage.googleapis.com/index.html 谷歌浏览器Chrome和驱动程序的对照表https://blog.csdn.net/allthewayforward/article/details/81736418 selenium已经放弃PhantomJS,了,建议使用火狐或者谷歌无界面浏览器. 解决方案selenium版本降级通过pip show selenium显示,默认安装版本为3.8.1. 将…
selenium无界面执行和反爬 无界面执行 from selenium import webdriver from selenium.webdriver.chrome.options import Options url="https://www.baidu.com" chrome_options=Options() chrome_options.add_argument("--headless") chrome_options.add_argument(&quo…
场景: jenkins构建selenium自动化用例的时候,会有jenkins自带服务后台运行自动化脚本,可无界面运行IE.Chrome.Firefox. 然而运行IE浏览器时候(IE比较特殊),Jenkins运行不会把默认的兼容性视图打勾. 于是想到Jenkins构建时启动有界面浏览器运行. 解决方法: Jenkins搭建完成后,默认运行自动化案例的节点都是master,master即启动jenkins的这台服务器,而在master上运行案例,通常都是运行后台进程,所以有人就会疑惑为啥用jen…
网上现有的解决方案要么是windows下的,要么是python的,搞了一天终于解决了,记录如下. 1 下载chrome linux版和对应版本的webdriver,我这里使用的是chrome66和chromedriver2.38,selenium版本选最新的就行,我这里用的是3.11 chrome:自己找 selenium:自己找 chromedriver:http://npm.taobao.org/mirrors/chromedriver/ 2 java代码 System.setPropert…
1.什么是Phantomjs (已经停止更新) 是一个无界面的浏览器 支持页面元素查找,js的执行等 由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多 2.如何使用Phantomjs? 获取PhantomJS.exe文件路径path browser = webdriver.PhantomJS(path) browser.get(url) 扩展:保存屏幕快照:browser.save_screenshot('baidu.png') from selenium import webdr…
最近在学习ViewPager实现界面的滑动,拜读了郭神的博客文章,并抽取归纳了自己对ViewPager的理解. ViewPager实现界面滑动的步骤如下: 1.在xml布局内加入控件android.support.v4.view.ViewPager 2.初始化ViewPager并通过findViewById加载 3.编写适配器,通过继承FragmentPagerAdapter并重写getCount()和getItem()来完成 4.编写界面,官方推荐使用Fragment来表示用于滑动的界面 5.…
Java设计模式 结构型模式 适配器模式 模式动机:在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式.通常情况下,客户端可以通过目标类的接口访问它所提供的服务.又是,现有的类可以满足客户的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是现有类中方法名与目标类中定义的方法不一致等原因所导致的.在这种情况下,现有的接口需要转化为客户类所期望的接口,这样保证了对现有的重用.如不这样的转化,客户类就不能现有类所提供的功能,适配器模式可以完成这样的转化.在适配器模式中可以定义一…
selenium2支持无界面操作(HtmlUnit和PhantomJs) selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试的. 其实selenium也是支持无界面浏览器操作的.比如说HtmlUnit和PhantomJs.他们都不是真正的浏览器,运行时不会渲染页面显示内容,但是支持页面元素查找,js的执行等:由于不进行css和gui渲染,运行效率要比真实的浏览器…
设计模式(二) 外观模式(Facade) 为了解决子系统外部的客户端在使用子系统的时候,既能简单地使用这些子系统内部的模块功能,而又不用客户端去与子系统内部的多个模块交互的问题. 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 外观模式就是通过引入一个外观类,在这个类里面定义客户端想要的简单的方法,然后在这些方法的实现里面,由外观类再去分别调用内部的多个模块来实现功能,从而让客户端变得简单.这样一来,客户端就只需要和外观类交互就可以了.…
这两天学习无锁的并发模式,发现相比于传统的 同步加锁相比,有两点好处1.无锁 模式 相比于 传统的 同步加锁  提高了性能 2.无锁模式 是天然的死锁免疫 下来介绍无锁的Vector--- LockFreeVector 它的结构是: private final AtomicReferenceArray<AtomicReferenceArray<E>> buckets; 从这里我们可以看到,它的内部是采用的是 无锁的引用数组, 数组嵌套数组 相当于一个二维数组,它的大小可以动态的进行…
windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuthdService" net start "VMnetDHCP" net start "VMware NAT Service" net start "VMUSBArbService" net start "VMwareHostd&q…
PhantomJS(http://phantomjs.org/) 是一个基于WebKit的服务器端JavaScript API.它全面支持web而不需浏览器支持,其快速.原生支持各种Web标准:DOM处理, CSS选择器, JSON, Canvas, 和SVG. PhantomJS 可以用于页面自动化,网络监测,网页截屏以及无界面测试等. 0.下载安装(以Mac为例) 下载地址:http://phantomjs.org/download.html 下载后进行解压 将 phantomjs-2.0.…
第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行.scrapy-splash. splinter 1.chrome谷歌浏览器无界面运行 chrome谷歌浏览器无界面运行,主要运行在Linux系统,windows系统下不支持 chrome谷歌浏览器无界面运行需要一个模块,pyvirtualdisplay模块 需要先安装pyvirtualdisplay模块 Display(visible=0, size=(800, 600))设置浏览器,visib…
我们在用Selenium写自动化程序时候,并不希望程序在实际运行过程中一直弹Chrome窗口,这个时候就需要让Chrome默默打开,自动读取数据,然后默默关闭掉就好. 以下是让chrome用无界面形式打开方法,主要是chrome_options参数的设置.在使用过程中发现如果chrome浏览器版本是v60+的会不起作用,升级到v70+就可以了. #让chrome用无界面形式打开 chrome_options = webdriver.ChromeOptions() chrome_options.a…
1.chrome谷歌浏览器无界面运行 chrome谷歌浏览器无界面运行,主要运行在Linux系统,windows系统下不支持 chrome谷歌浏览器无界面运行需要一个模块,pyvirtualdisplay模块 需要先安装pyvirtualdisplay模块 Display(visible=0, size=(800, 600))设置浏览器,visible=0表示不显示界面,size=(800, 600)表示浏览器尺寸 # -*- coding: utf-8 -*- import scrapy fr…
转:https://blog.csdn.net/u013849486/article/details/79466359 基本 做完了,要弄进docker里面去了的时候,才搜到 docker-chromium 基础镜像,和前辈走过的路,也许这样更方便吧,而且生产环境 就是linux-centos所以 不如一直在Linux或者docker里开发,我一直在mac里开发,所以迈过了很多坑- http://blog.csdn.net/littlebrain4solving/article/details/…