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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效