@52fhy
        
        2016-02-20T08:56:43.000000Z
        字数 1580
        阅读 674
    工具
本节内容:
· id
· name
· class name
· link text
· partial link text
· tag name
· xpath
· css selector
与js里的document.getElementById类似,我们可以使用webdriver进行模拟操作,进行元素查找、操作。
下面的例子是对模拟用户访问百度首页,输入selenium,并点击搜索的过程。提供了多种查找元素节点的方法:
百度输入框的属性信息,如下:
<input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off"><input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn">
脚本:
# -*- coding: utf-8 -*-from selenium import webdriverimport timebrowser = webdriver.Chrome()browser.get("http://www.baidu.com")time.sleep(2)#########百度输入框的定位方式###########通过id方式定位browser.find_element_by_id("kw").send_keys("selenium")browser.get("http://www.baidu.com")#通过name方式定位browser.find_element_by_name("wd").send_keys("selenium")browser.get("http://www.baidu.com")#通过tag name方式定位,可能找到多个#browser.find_element_by_tag_name("input").send_keys("selenium")#browser.get("http://www.baidu.com")#通过class name 方式定位browser.find_element_by_class_name("s_ipt").send_keys("selenium")browser.get("http://www.baidu.com")#通过CSS方式定位browser.find_element_by_css_selector("#kw").send_keys("selenium")browser.get("http://www.baidu.com")#通过xphan方式定位browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")############################################browser.find_element_by_id("su").click()time.sleep(3)browser.quit()
CSS方式定位与jQuery的选择器非常类似。 
jQuery API 中文手册 
http://hemin.cn/jq/id.html
XPath 教程 
http://www.w3school.com.cn/xpath/
通过browser.find_element_by_name或者find_element_by_tag_name等方式获取的元素可能有多个,我们可以通过for循环遍历:
inputs = dr.find_elements_by_tag_name('input')for input in inputs:if input.get_attribute('type') == 'checkbox':input.click()
