51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1119|回复: 2
打印 上一主题 下一主题

python+selenium+xpath如何定位网页table表格中的数据

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2022-2-25 13:08:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    如何获取网页表格中的猪肉价格?每个页面的猪肉价格所在行是变化的,如何精准定位到猪肉行?
    我的代码该如何修改才能精准爬取猪肉价格呢?

    1. from selenium.webdriver.common.by import By
    2. from selenium import webdriver #导入selenium


    3. url= input("请输入网址:")
    4. driver = webdriver.Chrome()  #打开浏览器
    5. driver.maximize_window()  # 将浏览器最大化
    6. driver.get(url)  #打开网址

    7. 猪肉价格 = driver.find_element(By.XPATH,'/html/body/table/tbody/tr[5]/td[2]').text # xpath定位猪肉价格
    8. print("猪肉价格是:",猪肉价格) # 打印猪肉价格
    复制代码

    1. <html>

    2. <body>

    3. <table width="400" border="1">
    4. <tr>
    5.   <th align="left">A页</th>
    6.   <th align="right">一月</th>
    7.   <th align="right">二月</th>
    8. </tr>
    9. <tr>
    10.   <td align="left">鸡肉</td>
    11.   <td align="right">5元</td>
    12.   <td align="right"></td>
    13. </tr>
    14. <tr>
    15.   <td align="left">鸭肉</td>
    16.   <td align="right">11元</td>
    17.   <td align="right"></td>
    18. </tr>
    19. <tr>
    20.   <td align="left">鹅肉</td>
    21.   <td align="right">55元</td>
    22.   <td align="right"></td>
    23. </tr>
    24. <tr>
    25.   <td align="left">猪肉</td>
    26.   <td align="right">5元</td>
    27.   <td align="right"></td>
    28. </tr>

    29. </table>

    30. </body>
    31. </html>

    复制代码
    以下是页面B的源代码
    1. <html>

    2. <body>

    3. <table width="400" border="1">
    4. <tr>
    5.   <th align="left">B页</th>
    6.   <th align="right">一月</th>
    7.   <th align="right">二月</th>
    8. </tr>
    9. <tr>
    10.   <td align="left">鸡肉</td>
    11.   <td align="right">5元</td>
    12.   <td align="right"></td>
    13. </tr>
    14. <tr>
    15.   <td align="left">猪肉</td>
    16.   <td align="right">12元</td>
    17.   <td align="right"></td>
    18. </tr>
    19. <tr>
    20.   <td align="left">鸭肉</td>
    21.   <td align="right">32元</td>
    22.   <td align="right"></td>
    23. </tr>
    24. <tr>
    25.   <td align="left">鹅肉</td>
    26.   <td align="right">43元</td>
    27.   <td align="right"></td>
    28. </tr>

    29. </table>

    30. </body>
    31. </html>
    复制代码


    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 1521 天

    连续签到: 5 天

    [LV.Master]测试大本营

    2#
    发表于 2022-2-28 11:22:34 | 只看该作者
    按文字定位
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 2819 天

    连续签到: 1 天

    [LV.Master]测试大本营

    3#
    发表于 2022-2-28 14:16:47 | 只看该作者
    做断言判断
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 09:37 , Processed in 0.067845 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表