常用相对定位,以//开头,不依赖页面顺序和位置。只看整个页面有没有需要定位的元素
定位方式 //标签名称[@属性名称=值]
and or逻辑运算 如: //标签名称[@属性名称=值 and @属性名称=值]
//a[@name="tj_login" and @class="s-top-login-btn c-btn c-btn-primary c-btn-mini lb"]
(1)父子层级定位
//div[@id="u1"]/a[@name="tj_login"]
(2)文本定位,通过text函数定位导航条 //*[@id="third-nav"]//a[text()="资料"]
(3)对于一些常变的属性使用contains定位.包含某个值来定位
如://input[contains(@class,"username")]
(4)轴定位,对于相同的风格定位其中一个如。定位第二个Python10专用里面的抢头标按钮:
根据获取到下级标签的祖先,然后再通过该祖先同级的轴名称来获取定位
//span[text()="python10专用"]/ancestor::a/following-sibling::div//a