如何在Selenium C#中编写无索引XPath获取h4、h5及span元素
在Selenium C#中使用无索引XPath获取h5与span元素数据
目标HTML结构
<div class="card-header bg-info"> <h4>Dumpytext</h4> <h5> Dump text/ mg <span style="font-size: 0.9rem;">(100mg/ 50mg)</span> </h5> </div>
实现方法
1. 获取h5元素的文本
通过父元素的class属性结合层级关系定位h5,全程不使用索引:
// 定位目标h5元素 IWebElement h5Element = driver.FindElement(By.XPath("//div[@class='card-header bg-info']/h5")); // 提取h5的文本内容 string h5Content = h5Element.Text;
XPath逻辑:从根节点匹配class为card-header bg-info的div,直接定位其下的h5子元素,无需依赖元素在同级中的位置索引,稳定性更强。
2. 获取span元素的文本
提供两种无索引定位方式,可根据页面实际情况选择:
- 方式一(基于DOM层级关联):
IWebElement spanElement = driver.FindElement(By.XPath("//div[@class='card-header bg-info']/h5/span")); string spanContent = spanElement.Text;
- 方式二(基于span自身属性):
IWebElement spanElement = driver.FindElement(By.XPath("//span[@style='font-size: 0.9rem;']")); string spanContent = spanElement.Text;
内容的提问来源于stack exchange,提问作者música a
相关产品推荐
相关产品推荐

