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);