本文介绍如何通过link text 来定位页面元素,我们打开网页,一些可以点击的链接跳转上面的文字,就是link text,用百度首页举例来看:
在上面图中,这一排上面的文字都是link text,例如我们要通过“新闻”这个文本字段来定义这个跳转链接元素。
脚本如下:
# coding=utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("https://www.baidu.com") try: driver.find_element_by_link_text("新闻") print ('test pass: element found by link text') except Exception as e: print ("Exception found", format(e)) driver.quit()
总结:凡是看到链接元素上面有文字描述的都可以采取find_element_by_link_text()方法来进行元素定位。这里提一下前面XPath定位中的知识,通过text()这个XPath中的函数也可以达到类似link text定位的目的。
这个“新闻”链接元素的XPath表达式可以这样写://*/div[@id='u1']/a[text()='新闻']
(软件测试交流:1140267353,还会有同行一起技术交流,同时还有海量免费学习资料)
刚上文介绍了如何通过link text 来定位页面元素,那么下文接下来介绍如何通过partial link text来定位页面元素。看到这个,有点和上文link text有点类似。字面意思,确实和link text相类似,partial link text就是选择这个元素的link text中一部分字段。
还是用百度首页输入框下有一个添加首页“把百度设为主页”。
相关脚本如下:
# coding=utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("https://www.baidu.com") try: driver.find_element_by_partial_link_text("主页").click() print ('test pass: element found by partial link text') except Exception as e: print ("Exception found", format(e)) driver.quit()
为了更好的验证是否找到了“把百度添加到首页”这个元素,我在这个地方添加了一个click(),运行代码,可以看到确实点击了这个元素,代表找到了这个元素。选择partial link text的时候,需要选择一个比较唯一的字段,来区分这个元素。
今天说了两个元素定位 相信大家会有所收获,希望大家早能成神
上一篇 Python+Selenium练习篇之2-利用ID/tag name定位元素
下一篇 Python+Selenium练习篇之4-利用class name/name定位元素
以上仅供参考和借鉴,希望对你有所帮助!
点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注!