Python 使用Selenium获取呈现页面的当前HTML

Python 使用Selenium获取呈现页面的当前HTML,python,selenium,dom,Python,Selenium,Dom,我正在努力获取facebook应用程序selenium中呈现的html代码。登录后,我进入应用程序页面,使用time.sleep(20)等待它完全呈现 我已经尝试了3种解决方案,但均无效: self.driver.page_source # This one returns source code self.driver.find_element_by_xpath('//*').get_attribute('outerHTML') self.driver.execute_script("retu

我正在努力获取facebook应用程序selenium中呈现的html代码。登录后,我进入应用程序页面,使用
time.sleep(20)
等待它完全呈现

我已经尝试了3种解决方案,但均无效:

self.driver.page_source # This one returns source code
self.driver.find_element_by_xpath('//*').get_attribute('outerHTML')
self.driver.execute_script("return document.getElementsByTagName('html')[0].outerHTML")
我正在使用google chrome驱动程序和python3。我只是想说清楚

编辑1:

我不清楚什么是不工作。上述每一项返回的内容都与我点击“Inspect Element”时显示的内容不同


…不要浪费时间。sleep()。使用WebdriverWait并等待页面上的唯一元素加载。

这三种解决方案如何不起作用?它们返回
None
,然后返回错误?报废是违反法律的,你很可能会受到质疑,甚至可能会陷入困境。改用Facebook API。@Omareina它们可以工作,但返回的内容与我点击“Inspect Element”时不同@DebanjanB谢谢。我不知道。这只是出于学术目的。返回的字符串(第三次尝试)与您在inspect元素中看到的有什么不同?我的问题不清楚。不管怎样,我都编辑了它来澄清问题。我还尝试了您的解决方案
self.driver.find\u element\u by_xpath(“//body”).get\u attribute('outerHTML')
,但它不起作用。它只返回
body
,而不是
html
。关于
WebdriverWait
:你能解释一下吗关于如何使用WebdriverWait以及为什么使用WebdriverWait,有很多我在这里不会介绍的资源,但我建议您尝试一下,您会喜欢的。我不确定您想要哪种HTML,但请尝试将“outerHTML”替换为“innerHTML”,并让我知道这是否有帮助。@Helpneed101我建议使用
self.driver.find\u element\u by_xpath(//HTML”).get\u属性('outerHTML')
,以获取完整的源代码,而不仅仅是
正文
self.driver.find_element_by_xpath("//body").get_attribute('outerHTML')