selenium3加载浏览器

浏览器禁用更新:

  因为selenium对浏览器的支持是有限制的。当浏览器更新到最新版本时,需要下载支持最新版本的插件。有时候selenium还没有更新到支持最新版本的插件,但本地已经更新到最新版本了。这样就比较悲剧了。需要卸载掉浏览器重新安装旧版本。如果及时设置不自动更新。可以很好的解决这个问题。

  禁用chrome浏览器: 控制面板\系统和安全\管理工具\服务\chrome更新服务 禁用
  禁用Firefox浏览器:选项、高级、更新、不检查更新。F10 关于。。。查看版本
  禁用IE浏览器:https://zhidao.baidu.com/question/564473961.html

1、加载chrome浏览器:

package myseleniumtest;
import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class chromeTest extends testBase {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        open_chrome();
    }
    static {
        System.setProperty("webdriver.chrome.driver", "files/chromedriver.exe");
    }

    public static void open_chrome() {
        ChromeOptions options = new ChromeOptions();
        // options.addArguments("--test-type");
        // File file =new File("files/chrome/User Data");
        // options.addArguments("user-data-dir="+file.getAbsolutePath());
        options.addArguments("--test-type", "--start-maximized");
        WebDriver driver = new ChromeDriver(options);
        driver.get(strUrl);
    }

    // 加载crx插件
    public static void load_plug() {
        ChromeOptions op = new ChromeOptions();
        op.addExtensions(new File(""));
        driver = new ChromeDriver(op);
    }
    // 根据配置文件夹启动  User Data文件夹在 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data 路径下
    public static void loadConfig() {
        ChromeOptions options = new ChromeOptions();
        File file = new File("files/chrome/User Data");
        options.addArguments("user-data-dir=" + file.getAbsolutePath());
        options.addArguments("--test-type", "--start-maximized");
        WebDriver driver = new ChromeDriver(options);
        driver.get(strUrl);
    }

}

2、加载 firefox浏览器:

package myseleniumtest;

import java.io.File;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.openqa.selenium.remote.DesiredCapabilities;

public class firefoxTest extends testBase {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.gecko.driver", "files/geckodriver.exe");
        // load_firebug();
        load_firebug();
    }
    //OpenDefault
    public static void open_firefox(){

        WebDriver driver = new FirefoxDriver();
        driver.get(strUrl);
    }
    //加载插件  about:config
    public static void load_firebug(){
        FirefoxProfile profile = new FirefoxProfile();
        profile.addExtension(new File("files/firefox/[email protected]"));
        profile.setPreference("extensions.firebug.currentVersion", "2.0.19");
        FirefoxOptions options = new FirefoxOptions();
        options.setProfile(profile);
        driver = new FirefoxDriver(options);

    }
    public static void exportFile(){
        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("browser.download.dir","c:\\");
        // 0桌面 1我的下载 2自定义
        profile.setPreference("browser.download.folderList",2);
        profile.setPreference("browser.helperApps.neverAsk.saveToDisk","browser.helperApps.neverAsk.saveToDisk");
        driver = new FirefoxDriver(new FirefoxOptions().setProfile(profile));
        driver.get("http://wiki.yslocal.com/pages/viewpage.action?pageId=6719652");
    }
    //启用功能     在浏览器地址栏输入  about:config
    public static void startExtend(){
        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("", true);
    }
    //  启动本机的firefox配置
    public static void loadLocalConfig(){
        ProfilesIni allProfiles = new ProfilesIni();
        FirefoxProfile profile = allProfiles.getProfile("default");
        profile.setPreference("extensions.firebug.allPagesActivation", "on");
        driver = new FirefoxDriver(new FirefoxOptions().setProfile(profile));
    }
    //启用其他机器的配置文件
    //将A机器上的profiles文件夹拷出来  C:\Users\Administrator\AppData\Local\Mozilla\Firefox
    public static void loadOtherConfig(){
        File f = new File("files/firefox/Profiles/gsz6831l.default/");
        FirefoxProfile profile = new FirefoxProfile(f);
        driver =  new FirefoxDriver(new FirefoxOptions().setProfile(profile));      

    }

}

3、加载IE浏览器

package myseleniumtest;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class ieTest extends testBase {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }
    //关闭保护模式 安全的四个选项 unchecked
    public void uncheckedSettings(){
        DesiredCapabilities  d =DesiredCapabilities.internetExplorer();
        d.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        d.setCapability("ignoreProtectedModeSettings",true);
    }
    public static void open_ie(){
        System.setProperty("webdriver.ie.driver","files/IEDriverServer.exe");
        WebDriver driver = new InternetExplorerDriver();
        driver.get(strUrl);
    }

}
driver.navigate().back() 后退
driver.navigate().forward()  前进
driver.navigate().refresh() 刷新
时间: 2024-10-11 11:48:47

selenium3加载浏览器的相关文章

No.11 selenium学习之路之加载浏览器插件for Firefox

打开帮助 -- 故障排除信息 点击显示文件夹 地址复制下来: 在代码中添加如下内容: 即可加载浏览器插件.

Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)

程序模块要添加QNetWork和QWebKit模块: nuistfinancevideo.h文件: #ifndef NUISTFINANCEVIDEO_H #define NUISTFINANCEVIDEO_H #include <QtGui/QtGui> #include <QtNetwork/QNetworkReply> #include <QtWebKit/QWebView> #include <QtWebKit/QWebElementCollection&

selenium加载浏览器配置文件

谷歌浏览器: google_path=r'--user-data-dir=C:\Users\jdm\AppData\Local\Google\Chrome\User Data' option=webdriver.ChromeOptions() option.add_argument(google_path) driver=webdriver.Chrome(chrome_options=option) 火狐浏览器: firefox_path=r'C:\Users\jdm\AppData\Roami

JS -- 异步加载进度条

今天在博客园问答里面看到博友问道怎么实现Ajax异步加载产生进度条. 很好奇就自己写了一个. 展现效果: 1) 当点击Load的时候,模拟执行异步加载. 浏览器被遮挡. 进度条出现. 实现思路: 1.当用户点击load button执行异步请求. 调用方法 出现加载条 2.怎么实现进度条呢? 1) 在document.body 新增一个div.覆盖浏览器. 设置背景会灰色. z-index = 999. 加载的时候让用户无法修改界面值 2) 在document.body 新增一个动态的div.

JavaScript异步编程(二) 异步的脚本加载

异步的脚本加载 问题: <head>标签里的大脚本会滞压所有页面渲染工作,使页面在脚本加载完毕前一直处于白屏: <body>标签末尾的大脚本使用户只能看到静态页面,原本应进行渲染的地方却是空的: 解决方案: 对脚本分而治之; 负责让页面更好看.更好用的脚本立即加载,可稍后再加载的脚本稍后再加载. HTML5的async/defer属性 ?<script标签> 经典型和非阻塞型 理想情况下,脚本的加载应该与文档的加载同时进行,并且不影响DOM的渲染. 这样,一旦文档就绪就

页面性能优化-原生JS实现图片懒加载

在项目开发中,我们往往会遇到一个页面需要加载很多图片的情况.我们可以一次性加载全部的图片,但是考虑到用户有可能只浏览部分图片.所以我们需要对图片加载进行优化,只加载浏览器窗口内的图片,当用户滚动时,再加载更多的图片.这种加载图片的方式叫做图片懒加载,又叫做按需加载或图片的延时加载.这样做的好处是:1.可以加快页面首屏渲染的速度:2.节约用户的流量. 一.实现思路 1.图片img标签自定义一个属性data-src来存放真实的地址. 2.当滚动页面时,检查所有的img标签,判断是否出现在事业中,如果

asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)

自从腾讯微博上线以来,基本上就开始用了,一直到现在,作为一个开发人员,也看到了腾讯微博一直在不停的改变,也不知道大家有没有发现,腾讯微博提供两种加载数据的方式,一种是分页,一种是滚动浏览器滚动条加载数据,分页功能我想大家都做得太多了,今天我与大家分享一下我用滚动条滚动加载数据,小生不才,还望各位大侠指教,呵呵~ 下面开讲: 首先说一下思路,我用的是Jquery,然后通过Jquery的ajax()方法通过 HTTP 请求加载远程数据来实现的,用到Jquery,首先要应用jquery.min.js类

ViewPager做图片浏览器,加载大量图片OOM的问题修正

1 /** 2 * @author CHQ 3 * @version 1.0 4 * @date 创建时间: 2016/7/26 17:18 5 * @parameter 6 * @return 7 * 图片查看器 8 * //可以查看网络图片 9 * //可以查看本地图片 10 */ 11 public class PhotoScan extends Activity { 12 private PhotoViewPager mViewPager; 13 private List<View>

如何突破浏览器加载并发数的限制

浏览器并发连接数是有限的, 一般是4到6个,在10个以内. 如果你的网站打开时需要加载的资源太多怎么办 首先想到的是按需加载,分步延时加载:但如果希望同时加载可以怎么办呢,有时有些客户就是这么野蛮的. 客户的需求就是我们的命令,谁叫我们拿了别人的钱呢. 其实还是有方法的,因为浏览并发连接数限制只是针对同一域名的,即是对同一个域名的资源加载有并发数的限制,如果将 资源文件分散到不同的域名下,即可实现并发数的扩展,例如一个域名是10个,两个域名就是20个并发了. 通常我们会将资源文件部署在同一台服务