<div class="header"> Account</div>
<div class="header"> Email</div>
<div class="value ng-binding">$50</div>==$0
上面是HTML片段,我正在尝试获取文本:50美元,使用getText()。为了找到元素,我使用了类名和xpath。
我面临的问题是,Selenium能够找到元素,但返回空白,而不是50美元。
如果你使用'id'在javascript中获取数据,这是一个很好的做法。对于您的问题,您可以尝试以下代码:
<div class="header"> Account</div>
<div class="header"> Email</div>
<div id="value" class="ng-binding">$50</div>==$0
然后尝试
driver.findElements(By.cssSelector("#value.ng-binding")).getText();
您应该尝试在 ClassName 上使用 .getAttribute("innerHTML");
返回 $50。
同意Saurabh Gaur的观点
C#
IWebElementdiv = driver。FindElement(By.CssSelector(".value.ng-binding"));
Console.WriteLine(div.Text);
方法:-
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement el = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".value.ng-binding")));
String text = el.getText();
System.out.println(text);
产出:50美元
希望对您有所帮助..:)