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

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日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!