selenium根据文本内容定位元素

关于selenium的定位方法很多人说了,但是根据文本内容进行定位的找了很久都没有找到相关的文章,因此把自己走过的弯路记录分享一下。
如下图,如果我们要定位“下一页”这个元素,无法通过id、class等等这些来弄,咋一看好像可以用find_element_by_xpath。
复制一下xpath来看一下:“//[@id=“pe100_page_存量房房源_oracle_single_pager”]/div/a[9]”,单独对于当前页面来说,整个xpath确实能够定位到“下一页”这个元素,但是换页后就不一定了,因为如上面xpath的加粗部分所示,这里是通过顺序来定位的(9),“下一页”在本页面位置排在第9,所以可以这样取,到了其他页面如果不是排在第9,这样定位就会出错。
正确写法:**find_element_by_xpath(’//
[@id=“pe100_page_存量房房源_oracle_single_pager”]/div/a[text()=“下一页”]’)**
跟之前的写法,区别在于将“9”换为“text()=“下一页””,这样它就会根据指定的文本内容进行定位了
selenium根据文本内容定位元素