Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动化Selenium中循环的最佳方法_Selenium_Webdriver - Fatal编程技术网

自动化Selenium中循环的最佳方法

自动化Selenium中循环的最佳方法,selenium,webdriver,Selenium,Webdriver,我想自动化一些重复的任务——比如多次提交表单。我在页面加载问题上结结巴巴,所以我想让你问一下你是怎么做到的。比如说,我想在我们的表格上提交十个不同的条目。所以我可以这样做: for (int i =0; i<10; i++){ String name = getNextName(); String surname = getNextSurname(); Webelement newUserButton = driver.findElement(By.id("newUser"))

我想自动化一些重复的任务——比如多次提交表单。我在页面加载问题上结结巴巴,所以我想让你问一下你是怎么做到的。比如说,我想在我们的表格上提交十个不同的条目。所以我可以这样做:

for (int i =0; i<10; i++){
  String name = getNextName();
  String surname = getNextSurname();
  Webelement newUserButton = driver.findElement(By.id("newUser")));
  newUserButton.click();
  WebElement name = driver.findElement(By.id("name")));
  name.sendKeys(name);
  WebElement surname = driver.findElement(By.id("surname")));
  surname.sendKeys(surname);
  WebElement submit = driver.findElement(By.id("submit")));
  submit.click();
}

for(inti=0;i听起来您需要添加一个显式的等待-请参阅Webdriver页面


通过显式等待,您可以告诉webdriver等待表单处于就绪状态—通常某个字段可见或重置(取决于单击提交时表单发生的情况).

如果您使用的是Selenium 2.0,您可以通过在代码中创建WebDrivewWait对象,使WebDriver等待某个操作发生。您可以查看此链接以了解更多信息-

您所说的“仅在表单准备就绪时等待”是什么意思?准备就绪的定义是什么?提交。单击()将等待页面完成加载,然后再继续,因此可能是其他一些细微之处导致了问题。循环崩溃时的错误到底是什么?不是解决方案,但我认为您可以从循环中执行所有元素定义,如
Webelement newUserButton=driver.findElement(By.id(“newUser”)
或者每次查找元素都有意义吗?@Nix-Form ready意味着单击后所有字段都被加载。@prestomanifesto-submit.click();不这样做-验证:)听起来像我需要的。明天我会研究它,告诉你它是怎么回事!正是我需要的。而且一直都在我眼前:)