当前位置: 首页 > 面试题库 >

如何在Selenium驱动程序中获取整个页面的innerHTML?

蒋文光
2023-03-14
问题内容

selenium用来单击所需的网页,然后使用解析网页Beautiful Soup

有人展示了如何在中获取元素的内部HTMLSeleniumWebDriver。有没有办法获取整个页面的HTML?谢谢

中的示例代码Python (基于上面的帖子,语言似乎没有太大关系):

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup


url = 'http://www.google.com'
driver = webdriver.Firefox()
driver.get(url)

the_html = driver---somehow----.get_attribute('innerHTML')
bs = BeautifulSoup(the_html, 'html.parser')

问题答案:

要获取整个页面的HTML:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://stackoverflow.com")

html = driver.page_source

要获取外部HTML(包括标记):

# HTML from `<html>`
html = driver.execute_script("return document.documentElement.outerHTML;")

# HTML from `<body>`
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')

要获取内部HTML(不包括标签):

# HTML from `<html>`
html = driver.execute_script("return document.documentElement.innerHTML;")

# HTML from `<body>`
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')


 类似资料:
  • 问题内容: 我正在尝试使用Selenium Web驱动程序获取文本,这是我的代码。请注意,我不想使用Xpath,因为在我的情况下,每次重新启动网页时id都会更改,请提供帮助。 我的代码: HTML: 问题答案: 你只想。 然后,您可以在得到验证 后对其 进行验证,不要尝试传递您 期望的 内容。

  • 我在selenium中寻找status_code,但找不到任何适合我需要的代码。我的另一个问题是,当我进入一个不存在的域时,让我们说https://gghgjeggeg.com。硒不会增加任何费用。它的页面源码如下:- 如何获取状态代码(有效域的状态代码,例如:https://twiitter.com/404errpage),以及为Selenium中不存在的域引发错误,或者是否有其他类似Selen

  • 我试图获取所有网页中的所有链接,但当我使用“列表”时

  • 我尝试在Ubuntu机器中运行Selenium webdriver自动化脚本。 我有以下错误。请帮我解决这个问题。 NotConnectedException:45000 ms后无法连接到端口7055上的主机127.0.0.1。Firefox控制台输出: (进程:8689):Glib关键**:g_slice_set_config:断言'sys_page_size==0'失败错误:无法打开显示:1.

  • 问题内容: 这个问题已经在这里有了答案 : Python Selenium访问HTML源代码 (8个答案) 4年前关闭。 我正在python中使用Selenium WebDriver,我想在一个变量中检索网页的整个页面源(类似于许多Web浏览器提供的用于获取页面源的右键单击选项)。 任何帮助表示赞赏 问题答案: 您的WebDriver对象应该具有一个属性,因此对于Firefox来说,它看起来像