首页 > 解决方案 > 需要验证表格内的文本(Python、Selenium)

问题描述

刚接触自动化,我有几个月的时间可以在空闲时间学习。

我正在尝试确认用户名出现在表格中,并且该名称将出现在几行中。

我正在使用这样的东西:

@step('Users homepage my lists created by is only user "{username}"')

def step_impl(context, username):

    users_name = context.browser.find_elements_by_xpath(
        "//*[@id='apollo-table_wrapper']][contains(text(),'%s')]" % username)

我知道 xpath 对表来说是正确的,但是如果我想验证屏幕上是否只有特定的用户名可见,我就会遇到问题。

在下面的这张图片中,我想要进行一个测试,以确保页面上只有“mike”的用户。我会在功能文件中喊出“mike”...

UI的总体思路

标签: pythonseleniumui-automation

解决方案


您有一个错字更改]//

users_name = context.browser.find_elements_by_xpath(
        "//*[@id='apollo-table_wrapper']//[contains(text(),'%s')]" % username)

要循环通过,您可以执行以下操作:

users_names = context.browser.find_elements_by_xpath("//*[@id='apollo-table_wrapper']")
print([i.text for i in users_names if i.text == "Mike"])
# Or you can append to list:
res = []
[res.append(i.text) for i in users_names if i.text == "Mike"]
print(res)

推荐阅读