gpt4 book ai didi

java - findElement 在运行时生成 HTML

转载 作者:行者123 更新时间:2023-11-30 06:46:59 24 4
gpt4 key购买 nike

我正在尝试查找从 PCA Predict API 生成的元素(可在此链接中找到)。 http://www.pcapredict.com/en-gb/address-capture-software/

我现在的代码如下,但由于没有找到任何元素,它会抛出超时异常。然而 xpath 是正确的,因为我已经在开发人员工具中检查过它。

    By PCA = By.id("inputPCAnywhere");
driver.findElement(PCA).clear();
driver.findElement(PCA).sendKeys(ValidPostcode);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='pcaitem pcafirstitem']")));
driver.findElement(By.xpath("//div[@class='pcaitem pcafirstitem']")).click();

该元素在页面上可见,开发者工具仅返回该 xpath 的一个结果,没有 ID 可以用来查找它。

最佳答案

看起来第一个项目默认被“选择”,导致它的类值等于以下内容:

<div class="pcaitem pcafirstitem pcaselected"...>...</div>

所有其他以下结果仅具有 pcaitem 类,但没有一个具有 pcaitem pcafirstitem 类值。

换句话来说,你的问题是严格的类(class)匹配。我将改进定位器以在 class 属性上进行部分匹配。例如,使用 CSS 选择器:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".pcaitem.pcafirstitem")));

关于java - findElement 在运行时生成 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43539542/

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