xpath几个基本查找:
starts-with 顾名思义,匹配一个属性开始位置的关键字
contains 匹配一个属性值中包含的字符串
text()匹配的是显示文本信息,此处也可以用来做定位用 eg
//input[starts-with(@name,'Show private Sales')] 查找name属性中开始位置包含'Show private Sales'关键字的页面元素
//input[contains(@name,'Show private Sales')] 查找name属性中包含na关键字的页面元素
<a href="http://www.baidu.com">百度搜索</a>
xpath写法为 //a[text()='百度搜索']
或者 //a[contains(text(),"百度搜索")]
<img src= xx.com" alt="Show private Sales">
xpath写法为 "//img[@alt='Show private Sales']"
基本用法:
#coding=utf-8 from selenium import webdriver //引入库 from selenium.webdriver.common.proxy import Proxy //引入代理 from selenium.webdriver.common.proxy import ProxyType //代理类型 import os '''' proxys=Proxy( { 'ProxyType':ProxyType.MANUAL, 'httpProxy':'127.0.0.1:1080', 'sslProxy':'127.0.0.1:1080', 'noProxy':'' } ) // 这里是代理配置,如不需要,可以删除 driver=webdriver.Firefox(proxy=proxys) ''' dir=os.path.dirname(__file__) print dir driver=webdriver.Firefox() //使用火狐浏览器 driver.implicitly_wait(30) //隐式等待三十秒,三十秒没有返回,则中断 driver.maximize_window() //浏览器全屏 driver.get(r"http://demo-store.seleniumacademy.com/") //访问某网址 print driver search_field=driver.find_element_by_name("q") //查找页面元素 name 为q 的标签 search_field.clear() //清空内容 search_field.send_keys("phones") // 把上面找到的标签的输入值修改为 “phone” search_field.submit() //提交 products=driver.find_elements_by_xpath("//h2[@class='product-name']/a") //xpath定位方法 print "Found "+str(len(products)) +"products:" for product in products: print product.text driver.quit() //退出浏览器