selenium中a标签中的span标签如何定位,试了好几种方式都不对,烦请各位老师帮我看下

需要定位的元素,点击“报价”按钮,如图


我是这么写的wd.find_element(By.XPATH, “//span[text()=‘报价’]”).click()

用contains 你这个报价有双引号

wd.find_element(By.XPATH, ‘//span[contains(text()=“报价”]’).click() 这样写也是不对的呢

页面发一下你这个语法也不对,,用下面这种语法

$x("//*[contains(text(),'举报')]")

我试了运行还是报错的老师


页面是这样的

你怎么调试的,把在console 的调试过程发出来

标签不对 span是个空标签,a才是你需要的标签 ,使用contains时注意页面中定位的唯一性

image

wd.find_element(By.XPATH, “//a[contains(text(),‘报价’)]”).click() 我试过用a标签定位的也定位不到呢

你能不能把网站的url发出来呢。我直接在页面上调试好 //* 代表匹配所有。所以按理来说是可以的

确定是唯一存在的吗,如果是检查是不是在同一框架下

有可能不唯一或者不停框架

这个地方是动态渲染的,数据会变是不是就定位不到的

不好意思,url不能发出来呢,是公司的网站

应该定位a标签吧

发这个也行,网页源代码

你们用xpath都是自己写吗?就我是右键copy?

你的text是属于a标签的,楼上有人发现了。

和 a 标签 没有关系 * 是通配符都匹配不到,大概率是frame的问题,之前碰到过类似的问题。

哪能右键copy。。。。肯定要学啊