飞云666 2024-06-23 20:02 采纳率: 14.3%
浏览 1

爬虫这样怎么提取href?


<a title="0000_主题曲PV《余年一梦》" style="overflow: hidden;" onclick="testFn('3a0fa16c-5ac8-0887-90a4-eb897e031872')" href="javascript:">0000_主题曲PV《余年一梦》</a>

这样的怎么提取href呢?用selenium获取所有节点后再遍历执行javascript点击节点后获取current_url老是出现错误,提取不出来href

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-06-23 20:02
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在你提供的HTML示例中,<a>标签的href属性值是javascript:,这意味着它并没有指向一个外部链接,而是执行了一段JavaScript代码。在这种情况下,使用href属性来获取链接是不合适的,因为实际上并没有一个可导航的URL。

    如果你的目标是提取执行onclick事件后跳转到的URL,那么你需要分析onclick事件中调用的testFn函数的实现。由于onclick事件中的JavaScript代码没有提供,我们无法直接知道testFn函数是如何工作的。但是,你可以采取以下步骤来尝试解决这个问题:

    1. 分析JavaScript代码:首先,你需要找到testFn函数的定义,并分析它是如何工作的。这可能需要查看页面的JavaScript源代码或使用浏览器的开发者工具。

    2. 模拟JavaScript函数:如果testFn函数是页面的一部分,并且可以在不执行点击事件的情况下调用,你可以尝试直接在Selenium中调用这个函数来获取跳转的URL。

    3. 使用Selenium执行JavaScript:如果找到testFn函数的定义,你可以使用Selenium的execute_script方法来执行这个函数,并捕获执行后的结果。

    下面是一个使用Selenium执行JavaScript的示例代码:

    from selenium import webdriver
    
    # 假设你已经设置了webdriver并加载了页面
    driver = webdriver.Chrome()
    driver.get('你的页面URL')
    
    # 执行JavaScript函数并获取结果
    result = driver.execute_script('return testFn("3a0fa16c-5ac8-0887-90a4-eb897e031872");')
    
    # 打印结果
    print(result)
    
    1. 错误处理:如果你在使用Selenium执行点击事件或执行JavaScript时遇到错误,确保检查Selenium的日志输出,了解具体的错误信息,并根据错误信息进行调试。

    2. 参考链接:以下是一些可能对你有帮助的参考链接:

    请注意,由于我无法访问外部链接,上述链接仅供参考,你可能需要自行搜索以获取最新的资源。如果你需要进一步的帮助,请提供更多的信息或错误详情。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月23日

悬赏问题

  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。