selenium 判断页面列表是否有数据

在UI自动测试时,经常会对页面列表中的数据进行操作(比如,查看详情,编辑,删除等),进入一个页面后,先要判断列表是否有数据,只有有数据时,才能做查看详情,编辑,删除等操作,否则如果直接点相应按钮,会报错定位元素失败

页面列表一般都是一个tbody,比较简单的方法就是去找页面列表tbody里是否有数据,通过判断tbody内容的长度,只要有数据,tbody的长度就会大于0,就认为页面有数据,如果tbody的长度等于0,则判断页面列表里没有数据,不要去点查查看详情,编辑,删除等按钮。


找到tbody那个xpath,定位获取text

    # 获取页面列表内容
    element = driver.find_element(By.XPATH, '//*[@id="app"]/div[3]/div[3]/div/div/div/div[1]/div[3]/div[3]/div/div[3]/table/tbody')
    tr = element.text
    # print(f"tr 里的数据是:{tr}")
    length = len(tr)
    print(f"列表内容长度是:{length}")

    if length == 0:
        print("当前页面没数据,不需要操作")
    if length > 0:
        print("列表中有数据,继续操作")
        # 选择一条消息,进行处理
        element = driver.find_element(By.XPATH, '//*[@id="app"]/div[3]/div[3]/div/div/div/div[1]/div[3]/div[3]\
                                                       /div/div[3]/table/tbody/tr[1]/td[1]/div/label/span/span')
        driver.execute_script('arguments[0].click()', element)
        time.sleep(2)

如果页面展示数据 非列表的形式,也找到类似的元素

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容