我的页面包含预先搜索链接,其中填充搜索条件后,会出现一个加载器,它会根据搜索条件加载我的结果,然后我需要执行删除操作。如何在执行下一步操作之前等待加载页面?
我的脚本运行速度很快,它不会等待加载程序消失并单击删除,因为它们没有符合我的搜索条件的记录,所以不应该发生删除。
代码,我used-
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
任何人谁可以帮我等待这样的过程。
如果有任何澄清,请通知我。
我的页面包含预先搜索链接,其中填充搜索条件后,会出现一个加载器,它会根据搜索条件加载我的结果,然后我需要执行删除操作。如何在执行下一步操作之前等待加载页面?
我的脚本运行速度很快,它不会等待加载程序消失并单击删除,因为它们没有符合我的搜索条件的记录,所以不应该发生删除。
代码,我used-
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
任何人谁可以帮我等待这样的过程。
如果有任何澄清,请通知我。
使用显式的等待,请把它作为样品例如:
WebDriverWait wait = new WebDriverWait(driver, 20);
By element1 = By.xpath("path of element");
// get the button1 element
WebElement button1= wait.until(ExpectedConditions.presenceOfElementLocated(element1));
我应该等待哪个元素。下一个操作即,。删除我想要执行的或当我点击预先搜索时。 –
你的操作卡在哪里你可以使用它, – iamsankalp89
我已经使用之前点击删除,它不工作:( –
使用,这是因为样本首先我要等About
链接可以点击,所以我必须使用显式的等待,然后等待Our products
链接可点击。
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://www.google.com");
WebDriverWait wait =new WebDriverWait(driver, 20);
WebElement aboutLink= wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.linkText("About"))));
aboutLink.click();
WebElement producttLink= wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//a[text()='Our products']"))));
producttLink.click();
你能解释我吗,你为什么要对同一个问题提出多个答案..这很刺激。请仅用不同的解决方案发布答案。 –
他想要一个相同的示例代码 – iamsankalp89
然后您可以将您的答案与正确的文本合并。不像另一个答案。 –
如果你知道装载机的元素(每例如,classname="spinner
“),你也可以等待该元素的隐形
试试下面的代码:
WebDriverWait wait = new WebDriverWait(driver, 20);
By loadElement = By.className("spinner");
//wait until loader is gone
WebDriverWait.until(ExpectedConditions.invisibilityOfElementLocated(loadElement));
由于在填写搜索条件时会出现一个加载器,它会根据搜索条件加载结果,然后您需要执行删除操作,因此我们有两种方法来解决此问题。
在第一种方法,我们将等待加载器disappear
和下一步点击预期WebElement
到Delete
。我们将实现通过WebDriverWait
与ExpectedConditions
一套这种方法invisibilityOfElementLocated
如下:
WebDriverWait wait10 = new WebDriverWait(driver, 10);
wait10.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("xpath_of_loader")));
driver.findElement(By.xpath("xpath_delete_button")).click();
在第二种方法中,我们将等待WebElement
的删除按钮可以点击旁边点击预期WebElement
到Delete
。我们将通过实现与WebDriverWait
一套ExpectedConditions
这种方法elementToBeClickable
如下:
WebDriverWait wait11 = new WebDriverWait(driver, 10);
WebElement element11 = wait11.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath_delete_button")));
element11.click();
复制https://stackoverflow.com/questions/36590274/selenium-how-to-wait-until-page-是完全加载 –
@RajuSharma我应该把它作为重复,因为该问题没有标记为正确的答案。 –