gpt4 book ai didi

java - 预期条件失败 : waiting for element to be clickable in Selenium

转载 作者:行者123 更新时间:2023-12-02 02:58:55 25 4
gpt4 key购买 nike

需要一些帮助。

M 尝试登录 Flipkart 并通过 selenium 购买第一部 Iphone。

但是,我陷入了下面提到的页面

https://www.flipkart.com/apple-iphone-6 …/p/itmen2yynt6bz3gg…

我尝试点击比较复选框、16GB按钮、立即购买按钮和添加到购物车按钮,但所有操作都给出无法定位错误。

任何帮助将不胜感激。

提前致谢

我使用了隐式等待和预期等待,但都没有使用等待。

我还检查了页面中的 iframe,但这也不起作用。

@Test(优先级 = 3,启用 = true) public void inPage() 抛出 InterruptedException {

 WebDriverWait wait = new WebDriverWait(driver, 100);

wait.until(ExpectedConditions.elementToBeClickable(By.className("_2AkmmA _2Npkh4 _2kuvG8 _7UHT_c"))).click();

}

通过:登录通过:搜索失败:页内org.openqa.selenium.TimeoutException:预期条件失败:WAITING元素可点击:By.className:_2AkmmA _2Npkh4 _2kuvG8 _7UHT_c(尝试100秒,间隔500毫秒) 在 org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:95) 在 org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:272) 在 First.inPage(First.java:94) 在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(来源未知) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(来源未知) 在 java.lang.reflect.Method.invoke(来源未知) 在 org.testng.internal.MethodInitationHelper.invokeMethod(MethodInitationHelper.java:124) 在 org.testng.internal.Invoker.invokeMethod(Invoker.java:583) 在 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989) 在

最佳答案

我观察到,点击第一个搜索结果(第一部 iPhone)会打开一个新选项卡,在这种情况下,您必须切换到新选项卡并执行进一步的操作。

driver.get(
"https://www.flipkart.com/search?q=iphone&sid=tyy%2C4io&as=on&as-show=on&otracker=AS_QueryStore_OrganicAutoSuggest_0_4&otracker1=AS_QueryStore_OrganicAutoSuggest_0_4&as-pos=0&as-type=RECENT&as-backfill=on");

By firstSearchResult = By.className("_3O0U0u");
driver.findElement(firstSearchResult).click();

Thread.sleep(1000);

String currentWindow = driver.getWindowHandle();
Set<String> windows = driver.getWindowHandles();
for (String window : windows) {
if (!window.equals(currentWindow)) {
driver.switchTo().window(window);
}
}

// I'm performing these three steps to set pin-code, as i'm not logging-in. You
// may not have to perform these three steps as you are already logged -in.
driver.findElement(By.id("pincodeInputId")).clear();
driver.findElement(By.id("pincodeInputId")).sendKeys("500081");
driver.findElement(By.xpath("//*[@class='_2aK_gu' and text()[contains(.,'Check')]]")).click();


By button = By.xpath("//button[text()[contains(.,'BUY NOW')]]");
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(button));
driver.findElement(button).click();

关于java - 预期条件失败 : waiting for element to be clickable in Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57062455/

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