需要一些帮助。
我正试图登录Flipkart并通过selenium购买第一部Iphone。
然而,我被困在下面提到的页面
https://www.flipkart.com/apple-iphone-6.../p/itmen2yynt6bz3gg...
我尝试单击比较复选框、16GB按钮、立即购买按钮和添加到购物车按钮,但所有操作都无法定位错误。
任何帮助都将不胜感激。
提前感谢
我使用了隐式等待和预期等待,但两种等待都没有。
我也检查页面中的iframe,但这也不起作用。
@测试(优先级=3,启用=true)public void inPage()引发InterruptedException{
WebDriverWait wait = new WebDriverWait(driver, 100);
wait.until(ExpectedConditions.elementToBeClickable(By.className("_2AkmmA _2Npkh4 _2kuvG8 _7UHT_c"))).click();
}
已通过:登录已通过:搜索失败:输入页面组织。openqa。硒。TimeoutException:预期条件失败:等待元素可单击:按。类名:_2AkmmA _2Npkh4 _2kuvG8 _7UHT_c(以500毫秒的间隔尝试100秒)。openqa。硒。支持用户界面。WebDriverWait。组织上的timeoutException(WebDriverWait.java:95)。openqa。硒。支持用户界面。FluentWait。直到(FluentWait.java:272)。在sun的inPage(First.java:94)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(未知源)。反映DelegatingMethodAccessorImpl。在java上调用(未知源)。朗。反思。方法在组织中调用(未知源)。testng。内部的方法调用助手。org上的invokeMethod(MethodInvocationHelper.java:124)。testng。内部的调用者。org上的invokeMethod(Invoker.java:583)。testng。内部的调用者。invokeTestMethod(Invoker.java:719)位于org。testng。内部的调用者。invokeTestMethods(Invoker.java:989)位于
你们所犯的错误是在类名中使用空格。类名(“\u 2KMMA\u 2Npkh4\u 2kuvG8\u 7UHT\u c”--
driver.get(
"https://www.flipkart.com/apple-iphone-6-space-grey-32-gb/p/itmetmh3hfhnxtcj?pid=MOBETMH3ZYNDPVVC&srno=s_1_1&otracker=search&otracker1=search&lid=LSTMOBETMH3ZYNDPVVCO3WYBD&fm=SEARCH&iid=d9dfe6a7-d4c6-48b0-b4f2-2046c0033347.MOBETMH3ZYNDPVVC.SEARCH&ppt=sp&ppn=sp&ssid=ouj8l7jf740000001563304721353&qH=43a53d285ae7d271");
WebElement addToCard = driver.findElementByClassName("_2AkmmA");
System.out.println(" addToCard text is " + addToCard.getText());
WebElement buyNowButton = driver.findElementByClassName("_2kuvG8");
System.out.println(" buyNowButton text is " + buyNowButton.getText());
我没记错短信
我注意到,点击第一个搜索结果(第一部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();
我试图通过ID在页面上查找元素,但即使元素有ID,selenium也会显示无法找到元素的消息。 我创建了一个名为InvalidLogin的类,它扩展了BaseClass类。在InvalidLogin类中,有一个名为fillDocmentOps的方法。在这个方法中,我试图通过ID(cboMotivo)找到元素,但我不能。下面是类代码和屏幕打印。 } cboMotivo元素ID控制台Eclipse错误
我有一个方法,它等待css(模态)定位器在屏幕上不可见,在我的一些构建中,我得到以下失败消息 我的方法:
问题内容: 我试图单击alibaba.com网站上的“登录”链接 这是我的测试用例: 这是定位Web元素的对象类 但是,当我运行此代码时,总是会遇到以下异常: 请帮我。 问题答案: 请尝试以下操作:
我正在尝试使用选项发送文本。这是我的类页面对象中的方法案例: HTML: 测试显示错误 有人能帮我解决这个错误吗。
Html树: Xpath://table[@class='ur MatrixLayout urhtmltableReset']//tr//table//tr//td//div//div/span[contains(text(),'revisations')]
我将测试一个网络应用程序。在我的表中有一个按钮可以选择所有条目。我尝试过: selenium单击按钮,但什么也没发生。(还有send_Keys(Keys.Return))应用程序是用GXT开发的,我发现按钮后面有很多javascript。是否有可能等待事件加载器准备就绪?在单击之前等待可以解决问题,但不是自动测试的解决方案。