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日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格