2011年5月6日 星期五
Migrate to Selenium 2 / WebDriver
因為某些網站沒好好地處理 https 混雜 http 連結的問題, 當瀏覽器遇到這種情況, 會跳出警告視窗. 導致原本應該"自動化"的程式, 還需要人點掉警告視窗才能繼續...
剛好最近比較有時間, 就把原本 selenium 的程式改為 selenium 2.
(se2處理方式如下:
WebDriver.switchTo().alert().accept() ;
)
不知道是不是因為 se2 還在 bata 的關係, 改寫過程並不是很順利.
以下是改寫時遇到的問題紀錄(bata3)
1. Can't click Link
參考 Selenium 2.0b3 IE WebDriver, Click not firing
Click()不 Work, 需改用 sendKeys("\n") 取代
2.採用XPath定位時, 會隨瀏覽器不同而產生不同結果, 要小心
請參考此表
3. Switch to frame doesn't work
似乎是網頁沒有完全載入的關係, 但 se2 又沒有 waitForPageToLoad的方法可以用, 只好自己等一下比較保險. 程式如下:
try {
Thread.sleep(500) ;
} catch (InterruptedException e) {}
driver.switchTo().defaultContent() .switchTo().frame(FRAME_CONTENTS);
4. Maximize Window
參考此網頁, 有提供了2種作法.
1是使用Javascript去設定視窗大小
2是使用WebDriverBackedSelenium向下相容, 就可以呼叫windowMaximize()了
(但要使用的語言有支援WebDriverBackedSelenium才行喔)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言