Selenium 如何在跨度内获取文本
我试图找出XPath,它将从下面的HTML中检索“Love&Romand”Selenium 如何在跨度内获取文本,selenium,xpath,Selenium,Xpath,我试图找出XPath,它将从下面的HTML中检索“Love&Romand” <div class="m-breadcrumbs no-mobile"> <a href="/home" class="breadcrumbs-link">Home</a><span class="delimiter_breadcrumb_spacer">></span> <a href="/occasions/cat10000
<div class="m-breadcrumbs no-mobile">
<a href="/home" class="breadcrumbs-link">Home</a><span class="delimiter_breadcrumb_spacer">></span>
<a href="/occasions/cat1000008">Occasions</a><span class="delimiter_breadcrumb_spacer">></span>
Love & Romance
</div>
要从您提供的HTML中提取文本Love&Romand,您可以使用下面的代码块(Java perspective)后面的
executeScript()
方法:
- :
更新
要提取文本爱情与浪漫,您还可以使用Java的
split()
方法作为替代方法:
- :
WebElement a = driver.findElement(By.xpath("//div[@class='m-breadcrumbs no-mobile']"));
List<WebElement> b = a.findElements(By.xpath("./*"));
for(WebElement aux : b) {
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].parentNode.removeChild(arguments[0])", aux);
}
System.out.println(a.getText());
WebElement a=driver.findElement(By.xpath(“//div[@class='m-breadcrumbs no mobile']);
列表b=a.findElements(By.xpath(“./*”);
用于(WebElement辅助:b){
JavascriptExecutor jsExecutor=(JavascriptExecutor)驱动程序;
jsExecutor.executeScript(“参数[0].parentNode.removeChild(参数[0])”,aux);
}
System.out.println(a.getText());
尝试使用以下代码获取所需的文本节点:
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("div.m-breadcrumbs.no-mobile")));
JavascriptExecutor jse = (JavascriptExecutor)driver;
String loveRomance = jse.executeScript("return arguments[0].lastChild.textContent;", myDynamicElement);
你能添加一个你试图处理的HTML的摘录吗?爱与爱;Roman无法获取下面的文本错误org.openqa.selenium.WebDriverException:未知错误:无法读取的属性“textContent”undefined@user3538483签出我的更新代码,让我知道@DebanjanB获取更新代码并获取org.openqa.selenium.WebDriverException:unknown error:Cannot read属性的状态未定义的“textContent”Error@user3538483签出我的更新代码并让我知道状态
WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='m-breadcrumbs no-mobile']")));
String my_string = myElement.getAttribute("innerHTML");
String[] stringParts = my_string.split("\n");
String mypart = stringParts[5];
System.out.println(mypart);
WebElement a = driver.findElement(By.xpath("//div[@class='m-breadcrumbs no-mobile']"));
List<WebElement> b = a.findElements(By.xpath("./*"));
for(WebElement aux : b) {
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].parentNode.removeChild(arguments[0])", aux);
}
System.out.println(a.getText());
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("div.m-breadcrumbs.no-mobile")));
JavascriptExecutor jse = (JavascriptExecutor)driver;
String loveRomance = jse.executeScript("return arguments[0].lastChild.textContent;", myDynamicElement);