我正在嘗試使用 Selenium webdriver 在 Python 中構建一個網絡爬蟲,但是當我從 webdriver 檢索網站源代碼時,我無法訪問我需要的信息。我認為問題是一旦頁面最初從服務器下載,內容就會通過 JavaScript 添加到頁面中。當我運行時,browser.page_source我會在添加此內容之前獲取頁面的源代碼。我想知道在添加了 JavaScript 加載的內容后是否可以獲取頁面的源代碼(換句話說,我在使用 Inspect Element 查看頁面時看到的內容)。這是我正在使用的基本 Python 腳本:from selenium import webdriverbrowser = webdriver.Chrome()browser.get("https://www.opportunities.auckland.ac.nz")print(browser.page_source)當我運行上面的腳本時,我得到了在瀏覽器中查看頁面源時看到的頁面的源代碼(即,當使用檢查元素查看代碼時,沒有可見的附加內容)。我嘗試過的事情time.sleep(10)在我訪問源時頁面未完全加載的情況下添加到各個位置。get_attribute("innerHTML")在身體上使用。使用execute_script()讓JS運行。使用execute_script()使JS腳本運行一個接一個。如果有人能首先告訴我這是否可行,以及它是否為我指明了正確的方向,那就太好了。謝謝。更新 1嘗試 Piotrek 的解決方案時,我得到以下輸出:Warning (from warnings module): File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/phantomjs/webdriver.py", line 49warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless 'UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead<html><head></head><body></body></html>不幸的是,這似乎不起作用。
添加回答
舉報
0/150
提交
取消