Selenium XPath如何定位目标元素的紧邻后续兄弟元素?
Selenium XPath 获取紧邻后续兄弟元素的通用方法
可以直接用XPath定位含“by”文本的span元素的紧邻后续兄弟元素,无需区分标签类型,具体实现如下:
通用XPath表达式
使用*匹配任意标签,[1]指定取第一个(紧邻的)后续兄弟元素:
//span[contains(text(),"by")]/following-sibling::*[1]
注意:这里用单斜杠
/而非双斜杠//,确保定位的是目标span自身的直接后续兄弟,而非其后代节点的后续兄弟。
对应Python代码
只需一行即可替代原来的两个查询:
x_authors = driver.find_elements(By.XPATH, '//span[contains(text(),"by")]/following-sibling::*[1]')
后续处理
获取到元素后,直接通过element.text就能提取作者信息,不受标签类型(a/span)影响。
内容的提问来源于stack exchange,提问作者xlmaster
相关产品推荐
相关产品推荐

