weixin_44653958 2021-09-24 10:26 采纳率: 66.7%
浏览 44
已结题

python selenium 获取链接href失败

        try:
            fri_arr = driver.find_elements_by_xpath(
                '//*[@class="cmmts j-flag"]//*[@class="itm"]')
        except:
           print(sys._getframe().f_lineno, sys.exc_info())
        for fri in fri_arr:
            url = fri.find_element_by_xpath('//*[@class="head"]/a').get_attribute("href")

fri_arr获取正常,获取的url始终是第一个fri的,不论fri怎么改变url都不变

  • 写回答

1条回答 默认 最新

  • 江天暮雪丨 2021-09-24 11:54
    关注

    不太清楚你的页面结构,我举个例子:
    现在我尝试抓取每个 li 中的 a 标签的 href 值

    <ul id="ul">
      <li class="li">
        <a href="123"></a>
      </li>
      <li class="li">
        <a href="456"></a>
      </li>
    </ul>
    

    应该是这样的

    lis = driver.find_elements_by_xpath('//*[@class="li"]')
    for li in lis:
        href = li.find_element_by_xpath('./a').get_attribute('href')
        print(href)
    

    其中第二个 Xpath 表达式的 "." 代表选取当前 li 元素下的 a 标签。在你的代码中没有用到 ”.“ 去选取当前元素下的 a 标签,因此每次获取到的都是第一个 a 标签的href

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月24日

悬赏问题

  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏
  • ¥15 STM32串口接收问题
  • ¥15 腾讯IOA系统怎么在文件夹里修改办公网络的连接