簡體   English   中英

如何從由分隔的元素中提取部分文本 <br> 通過硒標記?

[英]How to extract partial text from an element seperated by <br> tag through selenium?

如何從70(100%)中分離70 ,其中70和(100%)通過硒中的<br>標簽鏈接?

結構如下:

<a href="/report/campaigns/698/sent" class=""> 70<br> (100%)</a>

我正在使用的代碼是:

String[] REP=new String[1];
String Repor= driver.findElement(By.xpath("//html[1]/body[1]/section[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[5]/table[1]/tbody[1]/tr[1]/td[6]")).getText();

REP=Repor.split(""); 

System.out.println("REP "+REP[0]);

我得到的輸出是:7

Xpath太瘋狂了,但是要解決您的問題,我認為這可能與在split()函數中的引號之間添加空格一樣簡單。 它應該是

REP=Repor.split(“ “)

澄清后進行編輯:字符串Repor帶有換行符。 因此,以下代碼應分別找到“ 70”和“(100%)”。

String lines[] = Repor.split("\\r?\\n");

那么lines[0]為“ 70”, lines[1]為“(100%)”。 這就是你想要的嗎?

要提取文本70 ,可以使用以下定位策略之一

  • cssSelector

     WebElement myElement = driver.findElement(By.cssSelector("a[href='/report/campaigns/698/sent']")); String myText = ((JavascriptExecutor)driver).executeScript('return arguments[0].firstChild.textContent;', myElement).toString(); 
  • xpath

     WebElement myElement = driver.findElement(By.xpath("//a[@href='/report/campaigns/698/sent']")); String myText = ((JavascriptExecutor)driver).executeScript('return arguments[0].firstChild.textContent;', myElement).toString(); 

每個標簽都被視為父標簽存在的文本節點的分隔符:決定是指定所需文本節點的索引//a/text()[1]

暫無
暫無

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

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