Firefox浏览器初始化

WebDriver driver = new FirefoxDriver();

  

Firefox目录变更

System.setProperty("webdriver.firefox.bin","D:/Program Files/Mozilla Firefox/firefox.exe");

开URL

Driver.get(url);
Driver.Navigation.to(url);

设置firefox

1.新建一个 firefox -p 一般默认在:

C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles

2.在代码里引用这个profile

File F = new File("C:\\Users\\Administrator\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\9xhxx9r7.Selenium");
FirefoxProfile profile = new FirefoxProfile(file);
WebDriver driver = new FirefoxDriver(profile);

加载插件

复制代码
File file = new File("files/firebug-2.0.7-fx.xpi");
FirefoxProfile profile = new FirefoxProfile();
try{
    profile.addExtension(file);
}catch(Exception e){
   e.printStackTrace();
}
WebDriver driver = new FirefoxDriver(profile);
复制代码

通过about:config可以看到firefox的设置,可以通过代码改变, 有些设置直接可以通过firefox profile来设置

from selenium import webdriver
import time

profile.set_preference("dom.webdriver.enabled", False)
profile.set_preference('useAutomationExtension', False)


ip = '104.144.160.131'
port = 3128
profile = webdriver.FirefoxProfile()
profile.set_preference('network.proxy.type', 0)
profile.set_preference('network.proxy.type', 1)
#代理IP设置
profile.set_preference('network.proxy.http', ip)
profile.set_preference('network.proxy.http_port', port)
profile.set_preference('network.proxy.ssl', ip)
profile.set_preference('network.proxy.ssl_port', port)


profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://sellercenter.lazada.co.id/apps/seller/login?redirect_url=https%3A%2F%2Fsellercenter.lazada.co.id%2F')
driver.maximize_window()
time.sleep(5)

  

复制代码
        
 //设置默认下载路径
profile.set_preference('browser.download.dir', task_io.task_temp_dir)#存放路径
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")#下载文件type
复制代码

capabilities的设置

DesiredCapabilities capabilities = new DesiredCapabilities(); 
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
driver = new FirefoxDriver(capabilities);

这个capabilities是启动一个session必备的,是对所有driver都可以设置的,而firefoxprofile只有firefox只适用firefox

 

下载文件设置

#这里方法更改为FirefoxOptions
fp = webdriver.FirefoxOptions()
fp.set_preference('browser.download.dir',path)#path是下载路径,可自定义
fp.set_preference("browser.download.folderList",2)#数字2表示使用上述自己设置路径,0表示默认下载路径
fp.set_preference("browser.download.manager.showWhenStarting",False)#不管是否确认下载都不弹出下载框
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")#不询问直接下载文件/修改文件格式
driver = webdriver.Firefox(options=fp)

  

 

Driver的timeout设置

复制代码
页面加载timeout
driver.manage().timeouts().pageLoadTimeout(pageLoadTimeout, TimeUnit.SECONDS);
找对象的timeout,动态找 driver.manage().timeouts().implicitlyWait(waitTimeout, TimeUnit.SECONDS);
脚本执行的timeout driver.manage().timeouts().setScriptTimeout(scriptTimeout, TimeUnit.SECONDS);
复制代码
 
posted @ 2022-04-12 15:20  基础很差  阅读(434)  评论(0编辑  收藏  举报