如何在python selenium中设置页面源?

时间:2018-03-20 09:47:01

标签: python selenium

当使用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"))

有办法做到这一点吗?

2 个答案:

答案 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()