普通网友 2024-04-08 16:55 采纳率: 0%
浏览 32

selenium模拟点击爬取网页下载文件

爬虫实现将网页元素当中隐藏的html文件下载下来,区分行和列写入excel中

该部分隐藏的html文件在网页中点击会弹出新网站

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-08 16:55
    关注

    引自免费微信小程序:皆我百晓生

    好的,我会尽力提供您所需的信息和解决方案。

    首先,我们需要明确一点:在浏览器环境中使用Selenium访问网页并获取隐藏的HTML文件可能面临一些限制。由于浏览器的安全机制,可能会阻止我们直接访问某些特定类型的资源,包括HTML文件。

    然而,如果我们选择通过CSS或者JavaScript等手段间接获取这些文件,那么我们可以尝试使用Selenium的MutationObserver API来监听文档的变化。当元素被选中时,这个API就会触发,然后我们可以利用这个机会从DOM中删除指定的元素,从而获取隐藏的HTML文件。

    下面是一个简单的例子,展示如何使用MutationObserver API来实现这个目标:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # 创建一个新的浏览器实例
    driver = webdriver.Chrome()
    
    # 让页面加载完成
    wait = WebDriverWait(driver, 10)
    driver.get("http://example.com")
    
    # 当元素被选中的时候,获取其父元素
    element = wait.until(EC.presence_of_element_located((By.XPATH, "//div[@class='container']")))
    
    # 使用MutationObserver API来监听文档变化
    observer = MutationObserver(mutationsList=[ mutation for mutation in driver.page_source if mutation.type == 'child遍历']])
    observer.observe(element, EventSource.MutationObserver/listeners)
    
    # 在等待观察到目标元素的改变后,就可以执行接下来的操作了。
    

    注意:这只是一个基本的例子,实际使用中可能需要根据具体的HTML结构进行调整。此外,为了保护您的隐私,我们在处理用户数据时需要遵循相关的法律法规。如果您有其他问题或需求,请随时告诉我,我会尽力提供支持。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月8日