gpt4 book ai didi

java - 如何使用 Selenium WebDriver 从变量中提取文本?

转载 作者:行者123 更新时间:2023-11-30 02:44:54 25 4
gpt4 key购买 nike

如果我在 FireFox 上使用“检查元素”,我会看到以下内容:

<span class="stock-number-value ng-binding">17109 </span>

当我使用 driver.getSource() 时,17109 被“vehicle.attributes.stockNumber”替换。

我的主要目标是使用驱动程序获取vehicle.attributes.stockNumber存储的任何值,但我不知道如何使用Selenium获取该变量的内容。

最佳答案

我怀疑您在此过程中过早获取源代码,而角度尚未准备好并且绑定(bind)尚未提供数据。我将使用自定义等待条件函数来等待“库存”具有数值:

WebDriverWait wait = new WebDriverWait(webDriver, 510);
WebElement stock = wait.until(waitForStock(By.cssSelector(".stock-number-value")));
System.out.println(stock.getText());

其中 waitForStock 是这样的:

public static ExpectedCondition<Boolean> waitForStock(final By locator) {
return new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
try {
WebElement elm = driver.findElement(locator);
return elm.getText().trim().matches("[0-9]+");
} catch (NoSuchElementException e) {
return false;
} catch (StaleElementReferenceException e) {
return false;
}
}

@Override
public String toString() {
return "stock is not yet loaded";
}
};
}

关于java - 如何使用 Selenium WebDriver 从变量中提取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40473035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com