当使用python-selenium并加载网页时,我可以按如下方式获取源代码:
webdriver.page_source
有没有办法设置页面源?
我想阅读'来自文件的html并对其执行位置操作,例如:
driver = webdriver.Firefox()
driver.set_source(open('my_file.html'))
driver.find_element((By.XPATH, "//div[@id='create']//input"))
有办法做到这一点吗?
答案 0 :(得分:3)
您可以直接打开文件。
from selenium import webdriver
import os
driver = webdriver.Firefox()
driver.get('file:///' + os.getcwd() +'/my_file.html')
inputElement = driver.find_element_by_xpath("//div[@id='create']//input")
driver.quit()
P.S。我记得这不适用于IE。它适用于Firefox和Chrome。
答案 1 :(得分:0)
您可以尝试实施以下内容:
# Get "html" element
current_html = driver.find_element_by_tag_name("html")
# Get "body" element from saved HTML doc
saved_doc = open("my_file.html")
new_body = saved_doc.read().split("<html>")[-1].split("</html>")[0]
# Replace "body" of current page with "body" of saved page
driver.execute_script("arguments[0].innerHTML = arguments[1]", current_html, new_body)
saved_doc.close()