[英]How do I convert strings like “<br><br><br><br><br><br>” to “<br>” using java's String.replaceAll(String, String) method?
[英]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 :
使用cssSelector和split()
:
String[] cssParts = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("parentElementCssSelector"))).getText().split("<br>"); System.out.println(cssParts);
使用xpath和split()
:
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.