selenium控制谷歌浏览器(selenium打开谷歌浏览器)

老铁们,大家好,相信还有很多朋友对于selenium控制谷歌浏览器和selenium打开谷歌浏览器的相关问题不太懂,没关系,今天就由我来为大家分享分享selenium控制谷歌浏览器以及selenium打开谷歌浏览器的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

selenium控制谷歌浏览器(selenium打开谷歌浏览器)

本文目录

  1. python+selenium调用IE:打不开浏览器时的设置
  2. 如何设计多浏览器支持 在selenium框架中
  3. 如何使用selenium 驱动chrome浏览器并且打开方式为手机模式
  4. Selenium怎样驱动Firefox浏览器
  5. python selenium设置浏览器参数
  6. Python Selenium 停留在当前浏览器会导致人机验证

一、python+selenium调用IE:打不开浏览器时的设置

1.在IE浏览器的 设置>internet选项>安全下,将四个区域中启用保护模式的状态保持一致(全部取消勾选或者全部勾选),应用并确定。

2.禁用【高级】中的“启用增强保护模式”

4.若IE版本为11,则需要修改注册表:win+R-->regedit

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE

如果key值不存在,就添加。之后在key内部创建一个iexplorer.exe,DWORD类型,值为0,如下图所示:

5.之后selenium即可打开IE浏览器

二、如何设计多浏览器支持 在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 驱动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启动为手机模式,至今未实现。

四、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");

五、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}')#

六、Python Selenium 停留在当前浏览器会导致人机验证

1、代码x=input(随便输点啥)在执行driver.get(url)之后,加入输入等待,如果这时有人机验证,等我点完,再随便输入点啥,然后开始这个链接的爬取,然后爬完了等下一个连接看是不是会有人机验证缺点是不能完全自动,适合一些工作量不大的爬虫任务,可以玩着手机随时看两眼。

2、Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品Python提供了高效的高级数据结构,还能简单有效地面向对象编程。

文章到此结束,如果本次分享的selenium控制谷歌浏览器和selenium打开谷歌浏览器的问题解决了您的问题,那么我们由衷的感到高兴!

声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。

本文链接:http://www.gdxhedu.com/news/179354.html