无法从Selenium获取页面源

toe95027  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(169)

目的:利用 selenium 获取整页源。
问题:加载的页面不包含内容,只包含JavaScript文件和css文件。
目标站点:https://www.warcraftlogs.com
测试代码(需要“pip install selenium”):

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.warcraftlogs.com/zone/rankings/29#boss=2512&metric=hps&difficulty=3&class=Priest&spec=Discipline")


pageSource = driver.page_source
fileToWrite = open("page_source.html", "w",encoding='utf-8')
fileToWrite.write(pageSource)
fileToWrite.close()

尝试
1.尝试python请求代码,结果相同。它不包含内容,只包含js、css内容
这是一个个人的意见,这个网站考虑隐藏常数数据。
我想做脚本这个网站的数据,
怎么办?

wfveoks0

wfveoks01#

以下是在加载所有元素后获取页面源代码的方法:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time as t
[...]
wait = WebDriverWait(driver, 5)
url='https://www.warcraftlogs.com/zone/rankings/29#boss=2512&metric=hps&difficulty=3&class=Priest&spec=Discipline'
driver.get(url)
stuffs = wait.until(EC.presence_of_all_elements_located((By.XPATH, '//div[@class="top-100-details-number kill"]')))
t.sleep(5)
print(driver.page_source)

然后可以将页面源代码写入文件等。Selenium文档:https://www.selenium.dev/documentation/

相关问题