java - 忽略硒中的加载
问题描述
我正在用java编写一个硒代码,它执行以下操作。
- 打开页面。
- 关闭促销横幅。
- 从左侧检查一个类别。
- 点击产品。
sysout
名称,返回上一页。- 点击下一个产品。
目前,代码运行良好。但是我想知道当我回去时,有没有办法可以忽略图像上正在等待的微调器,直接单击并继续?'因为这是花费我大量时间的步骤。这是我所说的屏幕。
这是我的代码。
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class tesCode {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "/chromedriver");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://www.ediblearrangements.com/fruit-arrangements");
driver.findElement(By.id("imgClose")).click();
WebDriverWait wait = new WebDriverWait(driver, 20);
List<WebElement> catList = driver.findElements(By.xpath("/descendant::a[@ftype='id']"));
for (int cat = 0; cat < 2; cat++) {
driver.findElements(By.xpath("/descendant::a[@ftype='id']")).get(cat).click();
List<WebElement> prodList = driver
.findElements(By.xpath("//div[@id='divArrangementList']/ul//li/descendant::a[1]"));
for (int i = 0; i < 3; i++) {
prodList = driver.findElements(By.xpath("//div[@id='divArrangementList']/ul/li/descendant::a[1]"));
wait.until(ExpectedConditions.visibilityOf(prodList.get(i)));
if (prodList.get(i) != null) {
prodList.get(i).click();
driver.findElement(By.className("arrnamewithsup")).getText();
driver.navigate().back();
}
}
}
driver.close();
}
}
还有没有其他方法可以快速完成。
谢谢
解决方案
不,默认情况下 - selenium 将等待页面加载。我们无法控制它。我们可以添加等待条件,仅用于需要额外的等待 - 而不是减少它们。
推荐阅读
- python - 如何将字符串“1:05”转换为时间戳?
- primefaces - 如何防止 minmax spinner 标签允许十进制输入?
- apache-spark - HIVE_CANNOT_OPEN_SPLIT:列
不支持空类型 - laravel - 如何从 laravel 中的集合中读取数据
- angular - 拖动时垫滑块在循环中做出奇怪的反应
- azure-storage - 如何将 Azure 上 VM 的 CPU 使用情况导出到 Azure 存储
- ajax - Typo3 9.x ajax 调用
- laravel - 为什么在使用带有参数和代码 301 的 route()->redirect 时 Laravel 方法调用两次?
- java - 是否可以将新对象分配给“this”?
- amcharts - amcharts4 - 如何转义方括号字符(“[”)