XPath怎样根据一个元素定位另外一个元素

XPath怎样根据一个元素定位另外一个元素,第1张

1、Xpath也可以使用元素属性值来定位,以百度输入框和搜索按钮为例

2、通过id属性值来定位:注释://表示在当前页面的某个目录下,input表示定位元素的标签名,[@id='kw'],表示这个元素的id属性值等于kw

3、通过name和class属性值来定位:如果不想指定标签名,则也可以用代替,当然,使用Xpath不局限于id,name和class这三个属性值,元素的任意属性值都可以使用,只要它是唯一的标识元素

4、层级与属性结合。如果一个元素本身没有可以唯一标识这个元素的属性值,那么我们可以找到其上一级元素,如果它的上一级有唯一可以标识属性的值,也可以拿来使用

5、使用逻辑运算符。如果一个属性不能唯一地区分一个元素,我们还可以使用逻辑运算符连接多个属性来查找元素。例如,假如要查找第一行元素,则:

C# code

private void FormBrower_Load(object sender, EventArgs e)

{

webBrowserNavigate(">

你应该是写错了吧,你改成 //div[@class="proLis"]//span/text() 试试。单斜杆表示只取其儿子辈的节点,你的span标签都是N辈了

再说,没有必要自己写,你可以在chrome浏览器装一个ChroPath插件,点击元素,然后就会出来相应的xpath表达式。

span后面加上text()即driverfind_element_by_xpath("//div[@id='content']/div/div/div/div/div/div/div[2]/div[2]/div[%d]/span/text()"%i)click()

用jQuery写的,当鼠标点击一个元素时,显示元素的xpath路径

$(document)ready(function () {

var xpath = '', o;

$('')click(function (e) {

estopPropagation();//停止冒泡

o = this;

alert(readXPath(o));

});

});

String xpath = "/html/body/form/div/table/a";

List<Node> trNodes = docselectNodes(xpath);

for (int i=1;i < trNodessize();i++){

Element trElement = (Element)trNodesget(i);

List<Element> tdList = trElementelements();

Element tdElement1 = tdListget(1);

Element fontElement1 = (Element)tdElement1elements()get(0);

String c1 = fontElement1getText()

}

可以试试

以上就是关于XPath怎样根据一个元素定位另外一个元素全部的内容,包括:XPath怎样根据一个元素定位另外一个元素、WebBrowser浏览器控件,怎么获取页面某网页元素XPATH、xpath怎么提取span标签内的元素,只能用正则吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10081065.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存