7.7Cookies
在我們開始下一步的講解之前,你可能對WebDriver如何操作本地Cookies很感興趣。首先,你必須處于當(dāng)前Cookie的作用域。如果你在打開一個網(wǎng)頁之前嘗試預(yù)置Cookie,而且你的主頁大到需要很長一段時間來加載,這時候你需要找一個小點的網(wǎng)頁來替代,比如HTTP404網(wǎng)頁(http://example.com/some404page)。
//打開Cookie作用的網(wǎng)站
driver.get("http://www.example.com");
//設(shè)置全局Cookie
Cookiecookie=newCookie("key","value");
driver.manage().addCookie(cookie);
//輸出當(dāng)前網(wǎng)頁所有可用的Cookie
Set<Cookie>allCookies=driver.manage().getCookies();
for(CookieloadedCookie:allCookies){
System.out.println(String.format("%s->%s",loadedCookie.getName(),loadedCookie.getValue()));
}
//你又三種方法刪除Cookie
//Byname
driver.manage().deleteCookieNamed("CookieName");
//ByCookie
driver.manage().deleteCookie(loadedCookie);
//Orallofthem
driver.manage().deleteAllCookies();
7.8修改用戶代理服務(wù)器
對于FireFox來說很簡單:
FirefoxProfileprofile=newFirefoxProfile();
profile.addAdditionalPreference("general.useragent.override","someUAstring");
WebDriverdriver=newFirefoxDriver(profile);
7.9拖拽Web元素
下面是一個拖拽Web頁面元素的例子,前提是本地事件必須可用。
WebElementelement=driver.findElement(By.name("source"));
WebElementtarget=driver.findElement(By.name("target"));
(newActions(driver)).dragAndDrop(element,target).perform();
8各種Driver的特性以及如何選擇合適Driver
翻譯中
9向前兼容:融合WebDriver和Selenium-RC
翻譯中
10為遠(yuǎn)程WebDriver單獨啟動SeleniumServer
翻譯中
譯者注:
1、原文鏈接:http://www.seleniumhq.org/docs/03_webdriver.jsp。
2、文中只包含了java相關(guān)的操作,WebDriver還支持c#/Python/Ruby/Perl/PHP/Perl,如有需要,請閱讀原文。
3、languagebinding,又叫g(shù)luecode,意思是膠水代碼,比如有個C++的lib庫,java調(diào)用這個庫的api叫javabinding。參考:http://en.wikipedia.org/wiki/Language_binding。
4、措辭拙劣,有些單詞句子沒有深究直譯了,深感從閱讀到翻譯差的不僅僅是一本字典,還有文化的差異。筆者強烈推薦直接閱讀官網(wǎng)上的原文,如果我的譯文給你造成誤解,深感不安。這也是后三章不敢繼續(xù)班門弄斧的原因,等我對Selenium熟悉了之后再回來補全。