Python+Selenium自动化测试框架--利用find_element(by)定位元素
本章主要学习利用find_element(by)定位元素,通过百度搜索编辑框进行学习:
前面我们学习了selenium的八种定位方式
通过by定位元素,使用的方法是:
find_element()
它包含两个参数:
第一个参数是定位方式,这个由 By 提供;另
第二个参数是定位的值
特别注意:
在使用by是需要将by类导入,即from selenium.webdriver.common.by import By
如:
find_element(By.ID,"kw")
find_element(By.NAME,"wd")
find_element(By.CLASS_NAME,"s_ipt")
find_element(By.TAG_NAME,"input")
find_element(By.LINK_TEXT,u"新闻")
find_element(By.PARTIAL_LINK_TEXT,u"新")
find_element(By.XPATH,"//*[@class='bg s_btn']")
find_element(By.CSS_SELECTOR,"span.bg s_btn_wr>input#su")
1 # coding=utf-8 2 from selenium import webdriver 3 from selenium.webdriver.common.by import By 4 import time 5 6 driver = webdriver.Chrome() 7 driver.maximize_window() 8 driver.implicitly_wait(5) 9 10 driver.get("http://www.baidu.com") 11 try: 12 driver.find_element(By.NAME, "wd").send_keys("selenium") 13 driver.find_element(By.XPATH, "//*[@value='百度一下']").click() 14 time.sleep(3) 15 print("测试通过,By定位成功") 16 except Exception as e: 17 print("测试失败,By定位失败", format(e)) 18 driver.quit()
通过selenium的单元素定位,我个人推荐xpath。不过总的来说只要能够定位成功元素,达到目的你就成功了。