当前位置: 首页 > 知识库问答 >
问题:

Selenium WebDriver Java-无法从span标记获取动态文本

尚景焕
2023-03-14

尝试从span元素获取数字动态文本值。我的测试是数据驱动的,所以每次运行都需要从网页中获取文本(美元金额),然后将其与Excel中的期望值进行比较。由于某种原因,我的代码不起作用。请帮忙解决。

我得HTML:

我的定位器:By PRICE=By.xpath(“//div[@class='PRICE ng-binding'][@ng-hide='calc.iscalculating']/text()”);

我的代码

    WebDriverWait wait = new WebDriverWait(driver, 15); 
    wait.until(ExpectedConditions.presenceOfElementLocated(PRICE));

    WebElement actualPriceElm = driver.findElement(PRICE);
    actualPriceElm.getText();

    Assert.assertEquals(actualPriceElm, strExpectedPrice);

我的错误:15秒后超时,等待由:by.xpath:/div[@class=“price ng-binding”][@ng-hide=“calc.iscalculating”]/text()定位的元素

当我使用不带“/text()”的xpath时,像这样//div[@class='priceng-binding'][@ng-hide='calc.iscalculating'],我会得到以下错误:

共有1个答案

云宜人
2023-03-14
Wait<WebDriver> wait = new WebDriverWait(driver, 50);

// DO SOMETHING HERE TO CAUSE ELEMENT TO BE DISPLAYED (ie click, hover, mousemove, etc)

wait.until(new Function<WebDriver, Boolean>() {
    public Boolean apply(WebDriver driver) {
        return (driver.findElement(By.xpath("//div[@class='price ng-binding'][@ng-hide='calc.isCalculating']/text()"))).isDisplayed();
    }
});
 类似资料:
  • 我正在尝试使用webdriver从上面的html代码中获取动态跨度文本,但得到的是: org.openqa.selenium.nosuchelementException:找不到元素:{“method”:“id”,“selector”:“MathQ2”} 我需要从span id“MathQ2”获取文本:“6+4=” 此文本“6+4=”在每次刷新页面或加载新页面时都在更改 我尝试过xpath、id、

  • 我正在尝试使用Python和Selenium获取此元素。 这就是我所尝试的: 我做错了什么?

  • 我有以下html片段: 我已经用以下XPath找到了该元素: 谢谢,里亚斯

  • 我目前正在刮这个网站,以建立一个汽车数据集,我有一个方程式建立循环通过网站的每一页,而刮。然而,我无法提取文本,我需要使这一工作。 下面的代码片段是我试图刮去的标记。我需要得到现场的车辆数量。 这张图片显示了我正在尝试删除的站点元素 下面是我用来刮取该元素的代码: 此代码返回以下内容: 然后我检查了一下为什么返回soup.select给我的所有内容来得到错误代码: 它返回: 为什么给我一个空名单?

  • 问题内容: 我的链接看起来像这样 我想从那里去。我试过了 它输出。 我试过了,但它给了我KeyError。我该如何解决?我的错误是什么? 问题答案: 您可以使用css选择器,使用标题文本拉出所需的跨度: 找到具有包含 RAM 的 title 属性的 跨度 ,等效于在python中说。 或在 re.compile中 使用 find __ 要获取所有数据: 这会给你:

  • 我想从URL示例中获取一个图像博客头像:https://soundcloud.com/topsify 我试图得到: 但它还是空的。请支持获取头像url:https://i1.sndcdn.com/avatars-000132054558-5ra8gl-t500x500.jpg谢谢