Python 如何用html文件替换web请求?
我想用html文件替换web请求。链接到文件html代码 我的代码Python 如何用html文件替换web请求?,python,selenium,Python,Selenium,我想用html文件替换web请求。链接到文件html代码 我的代码 from selenium import webdriver file_path = "Mark.html" with open(file_path) as html_file: driver = webdriver.Chrome() html_content = html_file.read() print(html_content) # prints full file -- O
from selenium import webdriver
file_path = "Mark.html"
with open(file_path) as html_file:
driver = webdriver.Chrome()
html_content = html_file.read()
print(html_content) # prints full file -- OK
print("--------------------")
driver.get("data:text/html;charset=utf-8,{}".format(html_content))
print(driver.page_source) # prints only part of the file --- PROBLEM
print("---------------------------")
edu_raw = driver.find_elements_by_xpath("//div[@id='education']/div/div/div")
print(edu_raw)
问题是打印(driver.page\u source)
只打印文件的一部分
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Mark Zuckerberg</title><meta name="referrer" content="origin-when-crossorigin" id="meta_referrer"><style type="text/css" nonce="92Mfjw08">/*<![CDATA[*/.bi .bk .cd{color:</style></head><body></body></html>
马克·扎克伯格/*
如何打印整个文件?您需要使用以下方式加载文件:
driver.get("file://" + absolutePath)
然后,您可以使用
driver.page_source
另一种方法是直接使用JS替换内容:
driver.execute_script(f"var ele=arguments[0]; ele.innerHTML = '{html_content}';", driver.find_element_by_tag_name('html'))
可能您期望的页面没有直接加载。如果是这样,请尝试使用WebDriverWait。您可以阅读此答案以了解如何使用它:。将其与选择器一起使用,以确保它将被显示。