List<WebElement> elements = driver.findElements(By.xpath("//div[contains(@class, 'pb-basket-item-price')]"));
for (WebElement element : elements) {
String str = element.getText();
int cntTL = (str.length() - str.replace("TL", "").length()) / 2;
if (2 == cntTL) {
str = str.split("TL")[1].replace("\"", "") + " TL";
}
System.out.println("this is what you need: " + str);
// str is what you want!
}
5条答案
按热度按时间efzxgjgh1#
,下面是运行日志:
编辑
根据问题所有者的意见进行修改。
假设:html看起来像:
代码:
bvuwiixz2#
要打印文本,可以使用以下任一定位器策略:
748
使用
css_selector
以及get_attribute()
:使用
xpath
和文本属性:419
使用
css_selector
和文本内容:使用
xpath
和文本内容:wecizke33#
你首先需要得到元素,比如:
然后您可以遍历webelement列表,并检查元素应该具有的特定文本。
2fjabf4q4#
所以背后的想法是,
首先需要找出元素并将它们转换为列表。
$x("//div[contains(@class, 'pb-basket-item-price')]")
一旦列表就绪,就需要为列表中的每个元素找到最后一个子元素。$x("//div[contains(@class, 'pb-basket-item-price')]")[1].lastChild
->499 TL
$x("//div[contains(@class, 'pb-basket-item-price')]")[2].lastChild
->748 TL
现在你已经准备好了,试着把这个逻辑放到代码中。pbwdgjma5#
抓起产品标签,然后向内检查是否有跨距。