Python+Selenium_UI自动化操作(9)——获取元素的文本信息

本文介绍如何使用unittest和ChromeDriver进行UI自动化测试,通过XPath定位百度首页的新闻链接,获取并验证其文本内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UI自动化——获取元素的文本信息

#语法:
1、文本信息:text

class  TestGetElementInfo(unittest.TestCase):

    def setUp(self):
        # setUp是一个初始化方法,为test案例做数据准备
        # 当前方法的数据准备动作是:启动chrome浏览器
        self.b=webdriver.Chrome()

    def test_get_element_info(self):
        url="http://www.baidu.com"
        # 访问百度
        self.b.get(url)
        # 定位百度首页的【新闻】链接
        element=self.b.find_element_by_xpath("//div[@id='s-top-left']/a[1]")
        # 获取元素的文本
        ele_text=element.text
        print("元素的文本是:",ele_text)
        # 断言元素的文本,是否跟预期结果一样(这里的预期结果是“新闻”)
        self.assertEqual(ele_text,u"新闻")
        
   
    def tearDown(self):
        self.b.quit()

if __name__=="__main__":
    unittest.main()

### CSS选择器在UI自动化测试中的应用 #### 使用`find_element_by_css_selector` 对于UI自动化测试而言,CSS选择器提供了一种高效而灵活的方式来定位页面上的元素。通过函数 `find_element_by_css_selector(css_selector)` 可以实现这一目标[^1]。 #### 基础语法介绍 - **标签选择**: 如果想要匹配特定HTML标签的所有实例,则可以直接使用该标签名称作为选择器。例如,要选取所有的 `<div>` 标签,只需写入 `"div"` 即可。 - **类选择(`.`)**: 当希望基于元素的class属性进行筛选时,在`.`后面加上相应的类名即可。比如 `.myClass` 将会选择所有拥有 `myClass` 类别的元素[^4]。 - **ID选择(`#`)**: 对于唯一标识符即ID的选择,可以在井号`#`之后紧跟具体的ID名字。像这样:`#uniqueId` 会精准命中那个唯一的DOM节点[^3]。 - **属性选择([ ])**: 若要依据其他类型的属性来进行过滤,那么可以利用方括号内的键对形式。例如 `[type="text"]` 能够获取到所有输入框类型为文本的对象;如果只关心某个具体属性的存在与否而不考虑其的话,简单的 `[attributeName]` 同样有效[^2]。 #### 组合运用 实际场景下往往不是单独依靠某一种方式就能满足需求,而是多种条件混合起来形成更精确的选择路径: ```python from selenium import webdriver driver = webdriver.Chrome() element = driver.find_element_by_css_selector(&#39;input[type="email"].required&#39;) # 定位必填邮箱字段 ``` 上述例子展示了如何组合不同种类的选择标准——这里既限定了单控件必须是电子邮件输入域又强调了它应当具备`.required`样式特征。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值