我正在尝试获取网页的html。 ctrl + u 等效项(使用Firefox或Chrome)。
目前,我必须.click()
加载页面,获取网址,然后再次加载,在网址中添加view-source:
search = browser.find_elements_by_xpath('//*[@id="edit-keys"]')
button = browser.find_elements_by_xpath('//*[@id="edit-submit"]')
browser.execute_script("arguments[0].value = 'bla';", search[0])
browser.execute_script('arguments[0].target="_blank";', button[0].find_element_by_xpath('./ancestor::form'))
browser.execute_script('arguments[0].click();', button[0])
url = browser.current_url
browser.get("view-source:" + url)
是否可以在不两次加载网址的情况下执行此操作?
browser.execute_script('return document.documentElement.outerHTML')
不提供等效的view-source:
driver.page_source
也与view-source:
也许可以将view-source:
添加到browser.execute_script('arguments[0].click();', button[0])
吗?
答案 0 :(得分:0)
要获取具有动态JS加载元素的渲染HTML,而您只需使用简单的单行代码就可以使用JS来获取它:
rendered_source = driver.execute_script('return document.documentElement.outerHTML;')