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() //退出浏览器
本文介绍了XPath的基本查找方法,包括starts-with、contains及text()等函数的使用,通过实例演示了如何定位特定页面元素,适用于Web自动化测试及数据抓取场景。

被折叠的 条评论
为什么被折叠?



