• selenium又一小坑 无法用XPATH直接获取属性值 需要使用.get_attribute(“href”)


    在使用selenium进行抓取url的时候,试图使用find_elements_by_xpath来获取。
    因此想当然的直接使用XPATH的语法进行获取属性
    事例缩略后xml结构如下
    
    
    <div class="qg-limit-list" data-spm="1998564503" data-spm-max-idx>
    <a href="//item.taobao.com/item.htm?spm=a21bz.7725273.1998564503.46.1Tdtjr">
        <img src="//img.alicdn.com/tps/TB1lUEgLpXXXXbzXXXXXXXXXXXX-114-114.png" class="qg-img-tag">
    1
    2
    3
    4
    按照XPATH正常的语法,想要获取a标签的url也就是href的属性应该写作
    
    //div[@class="qg-limit-list"]/a/@href
    1
    然而在使用find_elements_by_xpath一直报错,显示只能存放element而不是object。
    最后的解决办法就是,这里只取到标签级,想要获取元素在之后再获取如下
    
    xpath_urls = '//div[@class="qg-limit-list"]/a'
    urls_pre = browser.find_elements_by_xpath(xpath_urls)
    url = urls_pre[0].get_attribute("href")
    1
    2
    3
    对,就是加.get_attribute(“href”),同理想要获得其他属性值,也可以通过他来获取。
    ————————————————
    版权声明:本文为CSDN博主「laval_liyichen」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/hacklyc/article/details/65454285
    

      

  • 相关阅读:
    Centos常用快捷键
    ngnix笔记
    转载申明
    Linux 最小安装常用包
    update-alternatives关键解疑
    使用Java语言开发机器学习框架和参数服务器
    storm实践
    JVM线程状态,park, wait, sleep, interrupt, yeild 对比
    PHP版本解密openrtb中的价格
    Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/LMTlmt/p/11556619.html
Copyright © 2020-2023  润新知