2011-11-17 67 views
3

我想使用selenum-1檢索URL的請求參數有沒有辦法?我看到API列表getLocation()方法返回絕對URL。在Selenium中獲取請求參數

如果URL http://webserver/webapps/library/do/javabooks/author?author_id=42&book_id=55

如果我書面方式selenium.getLocation()返回我http://webserver/webapps/library/do/javabooks/author。但我對請求參數感興趣。或者,如果我可以使用Selenium API獲取帶有請求參數的完整URL,那也沒關係。 有什麼辦法嗎?

在此先感謝。

+0

如果你使用的是webdriver我會說做driver.Url並且會捕獲地址欄中的url – CBRRacer

回答

3

我不知道這是否...這是可以驗證URL像你說的任何功能,但對於事情只是稍有不同我傾向於使用JavaScript:

selenium.get_eval('window.location.href'); 

如果你經常需要它,你可能會考慮把它包裝在一個庫或函數中,但這對我來說似乎相當乾淨。例如,您可以稍微擴展Javascript以獲得對返回數據的更多控制:分割?字符,並僅採用數組中的第二項。從那時開始,可能再次分開&以獲取作爲字符串列表返回的參數?

+0

謝謝@jro:很好通過javaScript我已經做過了,想知道是否有使用Selelium API的直接方式。 –

+0

@java_enthu:不是我所知道的。我再一次瀏覽了[API參考](http://release.seleniumhq.org/selenium-remote-control/1.0-beta-2/doc/python/selenium.selenium-class.html),但找不到任何確實符合你期望的東西。 – jro

+1

謝謝。但是,我正在尋找一個問題。顯示在網頁上的URL是http://webserver/webapps/library/do/javabooks/author.jsp?tab_group_id = _6_1 但是當我在做selenium.getEval(「window.location.href」)時,它會返回我http :// webserver/webapps/library/do/javabooks/booksManager?sourceType = BOOKS 令我驚訝的是,這兩個URL在頁面上顯示了相同的內容。但根據目前的要求,我想檢索前一個網址。我嘗試使用window.location,window.location.href,document.location.href和document.location都返回相同的URL。 –