selenium在谷歌浏览器,selenium谷歌浏览器驱动很快就关了
大家好,今天来为大家分享selenium在谷歌浏览器的一些知识点,和selenium谷歌浏览器驱动很快就关了的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
本文目录
- 如何设计多浏览器支持 在selenium框架中
- Selenium怎样驱动Firefox浏览器
- 一文了解Selenium环境的配置
- 如何使用selenium 驱动chrome浏览器并且打开方式为手机模式
- python selenium设置浏览器参数
一、如何设计多浏览器支持 在selenium框架中
driver_manager--通过type参数启动不同的浏览器driver
test_manager--通过type参数生成不同的类,实现多浏览器支持
*:注意单独调试的时候需要在开头加上sys.path.append(r'D:\test_browser'),否则from lib.base.util import Util会报错
XXXPage实现每个page页功能,如创建bug、创建文档功能
成员变量type,driver,config_file
在setup和teardown中实现driver启停
TestXXXPage实现每个page页测试用例
写用例的时候先写page再写对应的case
url=
dir_screenshot=D:/test_browser/data/screenshot
config=ConfigParser.ConfigParser()
config.read('base.conf')
print config.get('info','qa_user')
采用类的继承方式生成针对不同浏览器的类,实现多浏览器支持
new_classname=str(clz.__name__)+'-'+str(type).capitalize()#驼峰式写法,首字母大写
new_clz=classobj(new_classname,(clz,),{'type':type})
return unittest.makeSuite(new_clz)
二、Selenium怎样驱动Firefox浏览器
一、Selenium怎样驱动Firefox浏览器:
首先打开Selenium的官网,在地址栏输入
好了,这就是三个需要下载的东西:
然后解压,添加.jar包到你的工程里面
把这个放到你的Firefox浏览器的安装目录下:
如果你是用Maven来构建的话,就就不用去Selenium的官网下载,只需要以下几行:
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>3.4.0</version>
版本号可以随便修改,官网上最新的是3.5.3;
如果你用的是Gradle来构建的话,只需要一行:
compile'org.seleniumhq.selenium:selenium-firefox-driver:3.5.3'
好了,引入第三方依赖的准备工作都完成了,让我们开始写代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public static void main(String[] args){
WebDriver driver;//声明WebDriver
System.setProperty("webdriver.firefox.marionette","C:\\Program Files\\Mozilla Firefox\\firefox.exe");
String Url="";//百度的地址
driver=new FirefoxDriver();//new一个FirefoxDriver()
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);//设置显式等待10秒钟
driver.get(Url);//打开百度首页
driver.manage().window().maximize();//把浏览器窗口最大化
Thread.sleep(3000);//让线程等待3秒钟
} catch(InterruptedException e){
成功的启动了Firefox浏览器,并且打开了百度;
这里需要注意的是Firefox的版本不能是官网上最新的,因为Firefox迭代的太频繁了,我用的是46,这里有一个历史版本的地址:
System.setProperty("webdriver.firefox.marionette","C:\\Program Files\\Mozilla Firefox\\firefox.exe");
三、一文了解Selenium环境的配置
Selenium相当于是一个机器人,可以模拟人类在浏览器上的一些行为,比如点击,填充数据,删除cookie等。我们可以利用这项技术来完成动态网页的爬虫。
(1)检查自己谷歌浏览器的版本。
在谷歌浏览器地址栏输入:chrome://settings/help即可查看。
(2)下载对应版本的谷歌浏览器驱动。
下载地址:
由于我的谷歌浏览器是【78.0.3904.97】版本的,所以下载对应78.0.3904.x的驱动,最后的不一致也没关系。下载完成后,解压,放到一个纯英文路径下。
(3)在Python上安装selenium模块
众多python培训视频,尽在python学习网,欢迎在线学习!
本文转自:
四、如何使用selenium 驱动chrome浏览器并且打开方式为手机模式
1、可以通过selenium+android server.apk的方式实现
其原理是将android server.apk当做一个浏览器,使用selenium2.0的jar包初始化AndroidDriver。在此apk中去进入一个wap端链接(m.baidu.com),再去识别元素,进行自动化
2、通过Appium+ChromeDriver方式,在手机端安装手机chrome浏览器,使用appium依然初始化AndroidDriver,启动chrome,此时可以去get链接URL,实现wap自动化。需要注意是chromeDriver的版本和手机端chrome浏览器一致。
ps,chrome启动为手机模式,至今未实现
五、python selenium设置浏览器参数
为了避免每次运行程序都打开一个窗口,我们也可以设置无窗口访问,只需添加浏览器参数即可:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
url=' ;
chrome_options.add_argument('--headless')
chrome_options.add_argument('lang=zh_CN.utf-8')
UserAgent='Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
chrome_options.add_argument('User-Agent='+ UserAgent)
driver= webdriver.Chrome(chrome_options=chrome_options)
指定用户文件夹 User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区–-user-data-dir=”[PATH]”
指定缓存Cache路径–-disk-cache-dir=“[PATH]”指定Cache大小,单位Byte–-disk-cache-size=100
禁用Javascript–-disable-javascript#禁止加载所有插件,可以增加速度--disable-plugins
禁用JavaScript--disable-javascript
禁用弹出拦截--disable-popup-blocking
设置代理chrome_options.add_argument('--proxy-server=http://{ip}:{port}')#
好了,关于selenium在谷歌浏览器和selenium谷歌浏览器驱动很快就关了的问题到这里结束啦,希望可以解决您的问题哈!
声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。
本文链接:http://www.gdxhedu.com/news/179350.html