Python+Selenium练习篇之4-利用class name/name定位元素

相信大家有时候,我们在用firepath(不会的请点这里)查看元素的XPath信息,发现没有可以用来定位的id信息,这个时候我们就需要考虑用其他的可用的来定位元素。本文介绍如何通过元素节点中class name的值来定位页面元素。还是以百度首页,搜索输入框定位举例:

XPath截图:

相关脚本代码如下:

# 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_class_name("s_ipt")
print ('test pass: element found by class name')
except Exception as e:
print ("Exception found", format(e))

driver.quit()


意见:很多情况下,class利用要比id多,如果class中出现了太长的字符,和可变化的数字,那么请回到用XPath定位方法。

软件测试交流:1140267353,还会有同行一起技术交流,同时还有海量免费学习资料

下文介绍如何通过节点中name的值来定位这个web元素。还是来看百度首页搜索输入框,通过name的值来定位。

相关脚本代码:

# 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_name("wd") # 这里百度搜索输入框有name = 'wd'这个节点信息
print ('test pass: element found by name value')
except Exception as e:
print ("Exception found", format(e))

driver.quit()


总结:name这个属性不是所有的节点都有,如果有建议采用name的值来定位,就和by_id, by_class一样的效果。

上一篇    Python+Selenium练习篇之3-利用link text/partial link text定位元素

下一篇    Python+Selenium练习篇之5-利用css定位元素

以上仅供参考和借鉴,希望对你有所帮助!

点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注!

猜你喜欢

转载自www.cnblogs.com/xiaofeng778/p/13360404.html