首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自动化测试定位页面元素难?老司机10分钟带你玩转selenium定位元素

在平常与一些刚学自动化测试的朋友聊天的时候,总结出一个规律,为什么明明是这个定位啊,怎么就是定位不到呢。其实吧,selenium 定位也是有技巧的呢。

下面就由我给大家讲讲selenium如何定位页面元素的。

Selenium使用find_element定位单个元素和find_element定位元素组。

本文主要讲定位单个元素find_element, 定位元素一共有八种:

1、find_element_by_id:通过页面元素id属性来定位,适用于当前页面只有一个,并且是唯一的场景下使用。

2、find_element_by_name: 通过页面元素name属性来定位。

3、find_element_by_tag_name:通过页面标签元素定位,如

4、find_element_by_xpath:Xpath的定位方式是一个非常强大的定位方式,可以定位页面中几乎所有的元素。

5、find_element_by_class_name:通过页面元素css样式定位

6、find_element_by_partial_link_text:通过页面中超文本连接某个字符定位。

7、find_element_by_link_text: 通过页面中超文本连接文字定位。

8、find_element_by_css_selector: 通过页面元素css样式定位。

实战1:

博客园导航条实战,页面如图

在键盘按下f12键,可查看源代码如下

1、使用find_element_by_id定位【博客园】超文本连接,并点击。

2、使用find_element_by_link_text定位【新随笔】超文本连接,并点击。

3、find_element_by_partial_link_text定位【新随笔】超文本连接,并点击。

4、find_element_by_css_selector定位【新随笔】超文本连接,并点击。

脚本实现

from selenium import webdriver

#打开谷歌浏览器

driver = webdriver.Chrome()

#最大化窗口

driver.maximize_window()

#打开测试网站

driver.get("https://www.cnblogs.com/zkn11199/p/5589866.html")

#通过id定位元素

driver.find_element_by_id("blog_nav_sitehome").click()

#通过超文本连接文字定位

driver.find_element_by_link_text("新随笔").click()

#通过超文本连接包含文字定位

driver.find_element_by_partial_link_text("笔").click()

#通过css样式定位元素

driver.find_element_by_css_selector("a#blog_nav_newpost.menu").click()

实战2:

百度页面实战,页面如图

在键盘按下f12键,可查看源代码如下

1、使用find_element_by_class_name定位搜索框,并输入关键字【强尤】。

2、使用find_element_by_xpath定位百度一下按钮,并点击。

脚本实现:

from selenium import webdriver

#打开谷歌浏览器

driver = webdriver.Chrome()

#最大化窗口

driver.maximize_window()

#打开测试网站

driver.get("http://www.baidu.com")

#通过class定位元素

driver.find_element_by_class_name("s_ipt").send_keys("强尤")

#通过xpath定位元素

driver.find_element_by_xpath("//input[@id='su']").click()

好了,本次教程就结束了,如果你有什么问题,或者关于这个定位不明白的,可以私信我,或者发评论,我会回的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180718A0KU2W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券