2017-07-26 33 views
1

有很多關於超時和硒以及頁面加載的信息。硒和Python - 頁面超時而不會引發錯誤

但它幾乎沒有一個在chromedriver

而所有有用的東西並不完全是我正在尋找的東西。

:我不是在尋找set_page_load_timeout()

我想要什麼

  • 我說:driver.get( 「一些-怪異慢放」)
  • chromedriver說:是的,是...在路上
  • [15 seg later ...]還在路上
  • [20秒例如稍後...]好的先生...請儘量使用javascript window.stop();
  • 但是!繼續像往常一樣使用任何已加載的元素。

爲什麼我想這個

因爲也許我只是想獲得該網站的URL和標題...而不是花哨的巨大的背景圖像或鬆脆brunchy衝擊力的動畫橫幅數千個仍在加載的jquery魔術。

我是怎麼試試:

driver.get(url) 
driver.execute_script("setInterval(function(){ window.stop(); }, 20000);") 

但它不工作,因爲driver.get()將等到頁面執行腳本之前加載。

+0

這可能會幫助:https://stackoverflow.com/questions/11455210/selenium-webdriver-go-to-page-without-waiting-for-page-load – Windmill

+0

@Windmill我看到了,不過它說:「這種方法在Firefox以外的瀏覽器中失敗」,我不得不使用chromedriver。 –

回答

0
+2

作爲評論會更好。 – Himal

+0

因爲這不是我使用硒的唯一目的。這只是一個更大的刮板中的一小步,有時需要執行需要Selenium的動作,而其他時間只需要抓住其他元素,等待整個頁面加載是浪費時間。 –

+0

我明白了,但我想beatifulsoup是最快和最簡單的方法來抓取頁面標題,而不是硒。您可以輕鬆組合2個樂器以獲得更好的表現。如果你想堅持硒,你可以嘗試在分離的python線程中調用JS(不知道它的工作原理,就像想法一樣)https://stackoverflow.com/questions/2846653/how-to-use-threading-in- python – SAZ

相關問題