【发布时间】:2021-02-13 15:15:38
【问题描述】:
这是我的html 结构,我正在尝试跳过div 中的span 以仅获取div 的文本(这是动态的)进行测试。
<div class="items">
<div class="payment void" id="payment-000000899799">
<div class="payment__details">
<div class="method">CASH <span class="label"><span>Payment Voided</span></span></div>
<div class="date">2/12/2021, 3:02:15 PM</div>
</div>
<div class="payment__details">
<div class="amount">$20.00</div>
<div class="ref">Ref ID: REF-ID-01</div>
</div>
</div>
<div class="payment sale" id="payment-000000899806">
<div class="payment__details">
<div class="method">CASH </div>
<div class="date">2/12/2021, 3:02:21 PM</div>
</div>
<div class="payment__details">
<div class="amount">$100.00</div>
<div class="ref">Ref ID: REF-ID-02</div>
</div>
</div>
</div>
在我的步骤定义中,我已经
List<List<String>> data = capturedData.raw();
WebElement paymentDetails = driver.findElement(By.xpath("(//*[@class='payment__details']/div[@class='method'])[" + data.get(1).get(0) + "]"));
String paymentType = paymentDetails.getText();
System.out.println(paymentType); //This prints CASH Payment Voided
但实际上我只想要'CASH',它是div 的文本,并跳过span 的文本'Payment Voided'。而data 来自功能文件。
如何仅获取 div 的文本并跳过同一 div 内的文本 span?
【问题讨论】:
-
是否更容易获得展位CASH 然后从列表中选择第二个,使用查找元素。element.getAttribute("outerHTML") 是您在此处寻找的内容。
标签: java selenium xpath webdriver