簡體   English   中英

如何拆分字符串<br>使用 Selenium 和 Java 進入列表

[英]How can I split the string by <br> into a list using Selenium and Java

打印時我的字符串如下所示:

line1
line2
line3

因為它是用 selenium 提取的,它看起來在 html 中:

line1
<br>
line2
<br>
line3
<br>

我想將該字符串轉換為 3 個元素的列表,我嘗試了以下操作:

List<String> test= new ArrayList<String>(Arrays.asList(mystring.split("<br>")));

但它不起作用我得到了一個包含 1 個元素的列表,如下所示:

[line1
line2
line3]
Arrays.asList

已經返回列表,無需再次包裝它。

List<String> test= Arrays.asList(mystring.split("<br>"));

您可以直接使用 Arrays.asList 如下

List<String> result = Arrays.asList(myString.split("<br>"));

但是我們得到的列表是有限制的,這個列表是不可修改的,如果你想做的話

result.add("element");

你會得到一個 UnsupportedOperationException

如果你想修改你的列表如下,你可以得到它,比如

String[] split = myString.split("<br>");
List<String> result = Arrays.stream(split).collect(Collectors.toList());

你可以得到一個可修改的列表。

要通過<br> split()文本並將其放入,您需要為visibilityOfElementLocated()引入WebDriverWait ,您可以使用以下任一Locator Strategies

  • 使用cssSelectorsplit()

     String[] cssParts = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("parentElementCssSelector"))).getText().split("<br>"); System.out.println(cssParts);
  • 使用xpathsplit()

     String[] xpathParts = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("parentElementXpath"))).getText().split("<br>"); System.out.println(xpathParts);

參考

您可以在以下位置找到一些相關的討論:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM