5
我正在研究和開發一些未知的第三方網站,以使用硒獲取頁面內容。如何使用Selenium WebDriver檢查網站是否使用Ajax?
我應該如何知道網站是基於Ajax還是基於非Ajax。 我不知道里面的未知網站的任何數據來檢查,雖然使用ID或標籤名稱,所以我應該如何檢查它基於Ajax或不。
我正在研究和開發一些未知的第三方網站,以使用硒獲取頁面內容。如何使用Selenium WebDriver檢查網站是否使用Ajax?
我應該如何知道網站是基於Ajax還是基於非Ajax。 我不知道里面的未知網站的任何數據來檢查,雖然使用ID或標籤名稱,所以我應該如何檢查它基於Ajax或不。
如果我是你,我會建立一個代理服務器,並通過它路由所有的WebDriver
流量。在代理,爲每個請求我將會解析請求頭和找頭
X-Requested-With = XMLHttpRequest
如果你有,你可以(有相當的信心)說,那你有Ajax
調用。可能會出現一些你會錯過的角落案例,但這應該讓你獲得大部分成功。
無論如何,您需要考慮Ajax調用可能無法在頁面加載時完成,它可能需要用戶交互才能觸發這些調用。
你可以嘗試使用WebDrivers getPageSource()
方法來解決它,並運用一些方法來輸出尋找像$.get(
和$.post(
和$.ajax(
和所有其他的人,你能想出花樣。
您可能也有興趣this answer關於設置代理。
請閱讀http://stackoverflow.com/help/how-to-ask,並提供更多關於你已經嘗試和什麼都沒有工作的信息 – Dude
其實,這是一個有趣的問題。 – alecxe
你是指「基於Ajax」的意思,如果存在一些Ajax調用或者它是簡單頁面應用程序?例如(Angular JS)問題是有很多方法通過使用Ajax。這是我認爲的主要障礙。有沒有一種模式.. –