python+selenium定位xpath会变动的元素--使用last()函数定位最后一个节点数

web自动化学习--xpath之last()函数的使用

 

一、先说问题:

在实现功能自动化时,定位某一个元素,直接复制其xpath,实际上脚本跑起来后发现一直没定位到该元素;

xpath为:/html/body/div[6]/div[1]/div[1]/ul/li

 

二、找资料过程:

查找资料后发现,由于页面各种操作先后原因,会导致该元素的xpath发生变化;

比如由于不同的操作,xpath可能为:

/html/body/div[6]/div[1]/div[1]/ul/li

/html/body/div[5]/div[1]/div[1]/ul/li

/html/body/div[4]/div[1]/div[1]/ul/li

 

三、总结:

通过第二步会发现,xpath里面某一个div的位置是变动的!

不过可以发现一个规律,虽然这个div是变动的,但它始终位于最后一个节点;

于是巧妙的引入last()函数,

将xpath的写法变为:/html/body/div[last()]/div[1]/div[1]/ul/li

如此调整之后,不管操作如何变幻,始终能够正确定位

 

posted @ 2020-10-22 14:32  私房de浅  阅读(2610)  评论(0)    收藏  举报