【问题标题】:How can i get text from br tag using JAVA and SELENIUM我如何使用 JAVA 和 SELENIUM 从 br 标签获取文本
【发布时间】:2023-01-08 00:01:26
【问题描述】:

我需要一些帮助,我想了解这个方法。

我必须对我刚刚在网站上创建的新地址进行断言。

html 看起来像这样

      <div class="col-lg-4 col-md-6 col-sm-6">
          
  <article id="address-30338" class="address" data-id-address="30338">
    <div class="address-body">
      <h4>Piotr</h4>
      <address>Piotr Testowy<br>Woronicza<br>10-123<br>Warszawa<br>United Kingdom<br>533243444</address>
            
    </div>

我需要从 br Woronicza 获取文本——比如 addressData
我需要从 br 10-123 获取文本——比如 zipCodeData
ETC...

当我使用
WebElement aliasData = driver.findElement(By.cssSelector("#content > div:nth-child(3) h4"));
assertEquals(别名, aliasData.getText());

它工作正常但形式 br 标签我不知道如何使用 Selenium 和 Java 使它正确。

我不知道正确的 xpath 应该是什么,或者在这个例子中我应该使用其他选择器?

当我尝试使用此代码时 - selenium 报告字符串为空并且不等于 Woronicza。

 List<WebElement> elements = driver.findElements(By.xpath("//div[2]//h4/following-sibling::address/br"));

        String addressData = elements.get(1).getText();
        String zipCodeData = elements.get(2).getAttribute("innerHTML");
        String cityData = elements.get(3).getAttribute("innerHTML");
        String countryData = elements.get(4).getAttribute("innerHTML");
        String phoneData = elements.get(5).getAttribute("innerHTML");

请帮忙!

【问题讨论】:

    标签: java selenium xpath


    【解决方案1】:

    您可以从标签中获取内部文本作为字符串,然后使用
    标记为分隔符。

    String[] data = dataFromSeleniumAsString.split("<br>");
    String name = data[0];
    String city = data[1];
    ...
    
    

    【讨论】:

      猜你喜欢
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 2023-03-05
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多