代码之家  ›  专栏  ›  技术社区  ›  Rhys

python selenium-get(ctrl-u)等价的页面源代码

  •  0
  • Rhys  · 技术社区  · 7 年前

    我需要得到 ctrl-u键 相当于 browser.page_source 为了比较的目的。

    这有可能吗 browser.execute_script 或者其他方法?

    我试过各种方法 browser.get(view-source:https://www.example.com) 但还没找到解决办法。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Mahesh Kumaran    7 年前

    对我来说很好,我想是报价的问题,

    browser.get('https://www.example.com')
    browser.page_source
    

    您也可以使用 browser.execute_script()

    browser.execute_script('return document.documentElement.outerHTML')
    
        2
  •  1
  •   ewwink    7 年前

    如果我没有错,你想比较原始的html ctrl+U 和呈现的html browser.page_source ,您可以使用 requests

    import requests
    
    originalHTML = requests.get('http://...').text
    print(originalHTML)
    

    或者可以为 view-source:

    url = 'https://..../'
    browser.get(url)
    renderedHTML = browser.page_source
    
    # open blank page because JS cannot open special URL like `view-source:`
    browser.execute_script("window.open('about:blank', '_blank')")
    # switch to tab 2
    browser.switch_to_window(browser.window_handles[1])
    browser.get("view-source:" + url)
    originalHTML = originalHTML = browser.find_element_by_css_selector('body').text
    
    # switch to tab 1
    #browser.switch_to_window(browser.window_handles[0])