本章主要学习利用find_element(by)定位元素,通过百度搜索编辑框进行学习:

bcd7553cd45ebf07b839b4e1bcbbf463.png

前面我们学习了selenium的八种定位方式

193686c88d3e2965550b59f241d5979c.png

通过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 importwebdriver3 from selenium.webdriver.common.by importBy4 importtime5

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 exceptException as e:17 print("测试失败,By定位失败", format(e))18 driver.quit()

通过selenium的单元素定位,我个人推荐xpath。不过总的来说只要能够定位成功元素,达到目的你就成功了。

e1966b1bafaad1424ba605a98118702f.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐