Python+Selenium+Unittest 之selenium4--元素定位3-tag&link&partial link

目录

1、tag定位

2、link定位

3、partial_link定位


        这章说下tag&link&partial link这三种定位方式的使用。

1、tag定位

        tag在html中是由尖括号包围的关键词,通常tag标签都是成对出现的,比如标签一般用来定义超链接、用来定义粗体字、用来定义文档信息等。通常由于页面上的tag标签相同的太多,使用标签来进行元素定位有太多的不确定性,所以一般情况下不用tag标签来进行元素定位,这里就只简单写下tag标签的定位方式。

tag标签的定位方式的语法:

find_element_by_tag_name("标签")     #记着要写在双引号中

Python+Selenium+Unittest 之selenium4--元素定位3-tag&link&partial link_第1张图片

 

 这里就用input举例子了,代码应该是运行不通过的,因为存在多个页面上不存在的input。

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_tag_name("input").send_keys("放假安排")    #定位到输入框,然后输入框输入 放假安排

2、link定位

        link定位是专门用于定位超链接的,比如页面上显示文字且可以点击跳转的元素就可以算做是超链接,查看控制台可以看到这种元素一般都在标签后面。

 link的定位方式的语法:

find_element_by_link_text("name")     #记着要写在双引号中

Python+Selenium+Unittest 之selenium4--元素定位3-tag&link&partial link_第2张图片

 

        看上面的图片,新闻就是一个超链接,这时候我们就可以用link的方法去定位,然后对齐进行点击操作。

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_link_text("新闻").click()    #定位到新闻的按钮,并且进行点击操作

3、partial_link定位

        partial_link定位方式和语法与link定位的一样,唯一的区别就是link定位是必须输入要定位元素的名称的全部,而partial_link定位只需要输入其中包含的几个字段即可,比如:要定位 新闻,使用link定位时必须输入"新闻"才能定位到,而partial_link只需要输入"新"或者"闻"都可以定位到的,对于link定位来说,算是一种包含的关系。

 partial_link的定位方式的语法:

find_element_by_partial_link_text("name")     #记着要写在双引号中

​​​​​​​Python+Selenium+Unittest 之selenium4--元素定位3-tag&link&partial link_第3张图片

 

         如上图所示,比如我们可以输入"奖"去定位里面的超链接,里面有3个地方用到了"奖",这时候系统会找到识别到的第一个包含"奖"去进行操作,就是图中的"刘嘉玲给梁朝伟颁奖"这个超链接。​​​​

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_partial_link_text("奖").click()    #定位到第一个包含"奖"的按钮,并且进行点击操作

        如果大家在使用过程中遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记录,进行留言

                   下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

                                              

你可能感兴趣的:(web自动化,selenium,测试工具,自动化,python)