2017-06-05 145 views
-1

我最近開始學習selenium WebDriver。我試圖自動完成啓動瀏覽器和使用Firefox瀏覽器登錄帳戶的簡單任務。selenium webdriver瀏覽器導航問題

我注意到的差異是當我手動打開瀏覽器並點擊主頁上的登錄鏈接時,會彈出一個小彈出窗口來接受登錄憑據。我使用Firebug捕獲了元素(即用戶名,密碼和登錄名)並完成了我的腳本(使用Java)。

但是,當我運行相同的腳本,點擊主頁上的登錄鏈接後,瀏覽器導航到新頁面(而不是在手動過程中打開的同一頁面上彈出窗口)接受登錄憑據(其Web元素(即用戶名,密碼和登錄)值與手動過程中捕獲的值完全不同)。最終導致「NoSuchElementException」。

爲什麼我們在通過硒啓動瀏覽器時看到區別?還有如何在現場環境中處理這些場景?

任何幫助將不勝感激。

謝謝, 斯里蘭卡。

+0

請閱讀此問題(http://stackoverflow.com/help/how-to-ask)遵循指導原則並完善您的問題以顯示您的努力,例如代碼嘗試解決問題,錯誤信息,如果有的話。 – thewaywewere

+0

@Sri你能考慮展示你的作品嗎?謝謝 – DebanjanB

回答

0

有很多種方法來處理動態元素。一是如下:首先 ,differenciate其動態,並相應地改變數據試圖找到像元素1.對於 文本框中 的XPath://輸入[包含( @class,'公共數據')] 2.for按鈕 XPath://按鈕[開始於(@id,'以'開頭的公共數據')] 如果您提供HTML代碼。 希望這會有所幫助。

0

如果我理解正確,您說有2種不同類型的「登錄」頁面,並且您編寫的腳本僅適用於其中一種。

所以你現在需要做的是編寫一個如果條件檢查登錄頁面類型檢測,然後相應地執行認證。