2 回答
TA贡献1864条经验 获得超2个赞
根据您共享的 HTML,它是一个包含文本59.243.44.192的文本节点,因此要提取它,您可以使用以下解决方案:
WebElement myElement = driver.findElement(By.xpath("//div[@class='div-estro']"));
String myCountryIP = ((JavascriptExecutor)driver).executeScript("return arguments[0].lastChild.textContent;", myElement).toString();
更新:
根据您的评论更新,它是一个文本节点,其中包含文本201.250.101.84:3372以便提取它,您可以使用以下解决方案:
WebElement myElement = driver.findElement(By.xpath("//div[@class='div-estro']"));
String myCountryProxy = ((JavascriptExecutor)driver).executeScript("return arguments[0].childNodes[24].textContent;", myElement).toString();
TA贡献1777条经验 获得超3个赞
您可以使用 XPath 获取所需的文本节点,如下所示:
String countryProxy = ((JavascriptExecutor)driver).executeScript("return document.evaluate(\"//div[@class='div-estro']/b[.='CountryProxy:']/following-sibling::text()\", document, null, XPathResult.ANY_TYPE, null).iterateNext().textContent;").toString();
String countryIP = ((JavascriptExecutor)driver).executeScript("return document.evaluate(\"//div[@class='div-estro']/b[.='CountryIP:']/following-sibling::text()\", document, null, XPathResult.ANY_TYPE, null).iterateNext().textContent;").toString();
只需更新前面b节点的谓词即可获得所需的文本:
b[.='State:']
b[.='Membership Period:']
...
添加回答
举报