darklinboxs
darklinboxs
采纳率51.9%
2018-08-14 13:57 阅读 1.6k

Selenium 模拟浏览器xpath取值问题

5

python用Selenium模拟浏览器爬取数据是,如何才能使用xpath取a标签里的内容。或者h标签的内容或者p标签等。

求大神赐教谢谢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    weixin_41435739 weixin_41435739 2018-08-15 06:34

    图片说明
    在使用selenium时有个大坑! driver.find_elements_xxx返回的是个列表,注意和element区分,匹配a标签如下:
    driver.find_element_by_xpath(//div[@id="header"]/div[2/a])

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2018-08-14 14:16
     html = `
    <div>
        <a href='www.some.com'><span>hello </span>world</a>
    </div>
    `
    # 获取a标签下的文本
    xpath("//a/text()") # world
    # 获取a标签以及子标签中的内容
    xpath("//a//text()") # hello world
    # 获取a标签中的连接
    xpath("//a/@href") #  www.some.com
    
    
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-08-14 15:35
     browser.find_elements_by_xpath('//a')
    如果是某个div下的a,可以'//div[@id="xxx"]/a'
    其它的类似。
    
    点赞 评论 复制链接分享
  • darklinboxs darklinboxs 2018-08-15 01:32

    from selenium import webdriver
    #from time import sleep

    browser=webdriver.Chrome()

    url='https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4'
    browser.get(url)
    data=browser.page_source

    browser.find_elements_by_xpath('//*[@id="subject_list"]/ul/li[1]/div[2]/div[1]')

    附上我代码,获取不到内容的。
    大佬们
    这是我的反馈信息:
    []

    点赞 评论 复制链接分享
  • darklinboxs darklinboxs 2018-08-15 01:33

    图片说明

    这是反馈信息,没有内容的。

    点赞 评论 复制链接分享
  • a914541185 是豆腐啊 2018-08-15 08:46

    看你要取标签内属性的内容,还是中间的文本内容。
    如果是属性内容就是:
    xpath("//a/@href")或者xpath("//a/@class")
    a标记后面加斜杠,跟@后面是属性名
    如果是文本内容就是
    xpath("//a/text()")

    点赞 评论 复制链接分享

相关推荐