How to get innerHTML of whole page in selenium driver?

前端 未结 3 373
予麋鹿
予麋鹿 2020-12-10 10:40

I\'m using selenium to click to the web page I want, and then parse the web page using Beautiful Soup.

Somebody has shown how to get inner

3条回答
  •  执笔经年
    2020-12-10 10:52

    To get the HTML for the whole page:

    from selenium import webdriver
    
    driver = webdriver.Firefox()
    driver.get("http://stackoverflow.com")
    
    html = driver.page_source
    

    To get the outer HTML (tag included):

    # HTML from ``
    html = driver.execute_script("return document.documentElement.outerHTML;")
    
    # HTML from ``
    html = driver.execute_script("return document.body.outerHTML;")
    
    # HTML from element with some JavaScript
    element = driver.find_element_by_css_selector("#hireme")
    html = driver.execute_script("return arguments[0].outerHTML;", element)
    
    # HTML from element with `get_attribute`
    element = driver.find_element_by_css_selector("#hireme")
    html = element.get_attribute('outerHTML')
    

    To get the inner HTML (tag excluded):

    # HTML from ``
    html = driver.execute_script("return document.documentElement.innerHTML;")
    
    # HTML from ``
    html = driver.execute_script("return document.body.innerHTML;")
    
    # HTML from element with some JavaScript
    element = driver.find_element_by_css_selector("#hireme")
    html = driver.execute_script("return arguments[0].innerHTML;", element)
    
    # HTML from element with `get_attribute`
    element = driver.find_element_by_css_selector("#hireme")
    html = element.get_attribute('innerHTML')
    

提交回复
热议问题