这个是python+selenium之元素定位基础知识
#coding=utf-8
#使用ID定位
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.find_element_by_id("kw").send_keys("selenium")
#通过id定位输入框,html规定,id在文档中必须唯一,类似于我们的身份证号
driver.find_element_by_id("su").click()
driver.quit()
#coding=utf-8
#使用name定位
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.find_element_by_name("wd").send_keys("selenium")
#通过name定位输入框,那么一般不唯一,类似于我们的名字
driver.find_element_by_id("su").click()
driver.quit()
#coding=utf-8
#使用class定位
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.find_element_by_class_name("s_ipt").send_keys("selenium")
#通过class定位输入框,元素类名,用法与id,name一致,class类似我们的职业
driver.find_element_by_class_name("bg s_btn").click()
driver.quit()
#还有一种是通过tag定位,识别效率很低,一般不用;
#coding=utf-8
#使用link定位
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.find_element_by_link_text(u'新闻').click()
#与之前方法不同,是用来定位文本链接的
driver.quit()
#coding=utf-8
#使用partial_link定位
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
time.sleep(6)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(6)
driver.find_element_by_partial_link_text(u"Selenium篇").click()
#对link的一种补充,有些文本链接较长,只要一部分有效唯一标示就行
time.sleep(6)
driver.quit()
#coding=utf-8
#使用xpath定位
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
#/html/body/div/div[2]/form/div/div[2]/div/input[3]
#//*[@id="search-key"]
driver.find_element_by_xpath("/html/body/div[2]/div[1]/div/div[1]/div/form/span[1]/input").send_keys("selenium")
#通过id定位输入框,html规定,id在文档中必须唯一,类似于我们的身份证号
driver.find_element_by_xpath('//*[@id="su"]').click()
driver.quit()
#coding=utf-8
#使用css定位
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
#html body div#wrapper div#head div.head_wrapper div.s_form div.s_form_wrapper.soutu-env-nomac.soutu-env-index form#form.fm span.bg.s_ipt_wr.quickdelete-wrap input#kw.s_ipt
driver.find_element_by_css_selector("html body div#wrapper div#head div.head_wrapper div.s_form div.s_form_wrapper.soutu-env-nomac.soutu-env-index form#form.fm span.bg.s_ipt_wr.quickdelete-wrap input#kw.s_ipt").send_keys("selenium")
#通过id定位输入框,html规定,id在文档中必须唯一,类似于我们的身份证号
driver.find_element_by_css_selector('html body div#wrapper div#head div.head_wrapper div.s_form div.s_form_wrapper.soutu-env-nomac.soutu-env-index form#form.fm span.bg.s_btn_wr input#su.bg.s_btn').click()
driver.quit()