将“查看源:”附加到按钮点击网址输出

时间:2018-12-20 10:13:55

标签: python selenium

我正在尝试获取网页的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])吗?

1 个答案:

答案 0 :(得分:0)

要获取具有动态JS加载元素的渲染HTML,而您只需使用简单的单行代码就可以使用JS来获取它:

rendered_source = driver.execute_script('return document.documentElement.outerHTML;')