网页抓取HTML时,javascript没有被执行,因此缺少HTML片段。如何执行所有脚本标记来编辑DOM?

网页抓取HTML时,javascript没有被执行,因此缺少HTML片段。如何执行所有脚本标记来编辑DOM?,javascript,python,selenium,iframe,Javascript,Python,Selenium,Iframe,我正在使用Selenium尝试将HTML文档嵌套在所有iframe标记中。我能够在iframe中获得HTML,但是我认为有些标记没有被执行,因此我没有想要的所有源代码。有没有办法让HTML执行javascript,然后在javascript运行后使用新的HTML 代码: 如果我正确理解了您的问题,您正在尝试将innerHTML嵌套在所有标记中,因此,首先我们需要首先切换到\u框架,并且Selenium只能在框架可见的情况下切换到\u框架。要实现这一点,可以使用以下代码块: iframes = d

我正在使用Selenium尝试将HTML文档嵌套在所有iframe标记中。我能够在iframe中获得HTML,但是我认为有些标记没有被执行,因此我没有想要的所有源代码。有没有办法让HTML执行javascript,然后在javascript运行后使用新的HTML

代码:


如果我正确理解了您的问题,您正在尝试将
innerHTML
嵌套在所有
标记中,因此,首先我们需要
首先切换到\u框架
,并且
Selenium
只能在框架可见的情况下
切换到\u框架
。要实现这一点,可以使用以下代码块:

iframes = driver.find_elements_by_tag_name("iframe")
for iframe in iframes:
    WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it("iframe"))
    print(driver.page_source)
    driver.switch_to_default_content()

如果我正确理解了您的问题,您正在尝试将
innerHTML
嵌套在所有
标记中,因此,首先我们需要
首先切换到\u框架
,并且
Selenium
只能在框架可见的情况下
切换到\u框架
。要实现这一点,可以使用以下代码块:

iframes = driver.find_elements_by_tag_name("iframe")
for iframe in iframes:
    WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it("iframe"))
    print(driver.page_source)
    driver.switch_to_default_content()

您“相信”哪些标记没有被“执行”,为什么您相信这一点?在HTML文件中执行javascript可以添加到DOM中。当我检索iframe的内部HTML并将其打印出来时,我只得到一个尚未执行的大型脚本标记。我“相信”它们没有被“执行”,因为如果你用chrome inspector查看页面源代码,我在打印语句中没有看到更多的HTML。没有什么能比得上tampermonkey,没有什么。你“相信”哪些标签没有被“执行”为什么你相信这一点呢?在HTML文件中执行javascript可以增加DOM。当我检索iframe的内部HTML并将其打印出来时,我只得到一个尚未执行的大型脚本标记。我“相信”它们没有被“执行”,因为如果你用chrome inspector查看页面源代码,我在打印语句中看不到更多的HTML。没有什么比tampermonkey更适合刮擦,没有什么。