【发布时间】:2019-10-17 06:07:05
【问题描述】:
嗨,我是 selenium webdriver 的新手,所以我不知道如何在使用 javascript 执行程序时使用 for 循环,所以任何人都可以将下面的代码转换为 for 循环或任何循环,在下面的代码中,你可以观察到 div [ ] 在这一行的 div[6] 之后发生变化 driver.findElement(By.xpath("//*[@id='unfreezedGridBody']/div[6]/div[5] /div/div/span[3]"));
任何帮助将不胜感激。
int count =
driver.findElements(By.xpath("//[@id='unfreezedGridBody']/div[6]/div[1]/div/div/span[3]")).size();
System.out.println(count);
JavascriptExecutor jse = (JavascriptExecutor)driver;
WebElement dropdowns =
driver.findElement(By.xpath("//[@id='unfreezedGridBody']/div[6]/div[1]/div/div/span[3]"));
jse.executeScript("arguments[0].scrollIntoView()", dropdowns);
jse.executeScript("arguments[0].click();", dropdowns);
Thread.sleep(2000);
driver.findElement(By.xpath("//li[@data-content='PASS']")).click();
Thread.sleep(10000);
JavascriptExecutor jse2 = (JavascriptExecutor)driver;
WebElement dropdowns2 =
driver.findElement(By.xpath("//[@id='unfreezedGridBody']/div[6]/div[2]/div/div/span[3]"));
jse2.executeScript("arguments[0].scrollIntoView()", dropdowns2);
jse2.executeScript("arguments[0].click();", dropdowns2);
Thread.sleep(2000);
driver.findElement(By.xpath("//li[@data-content='PASS']")).click();
Thread.sleep(10000);
JavascriptExecutor jse3 = (JavascriptExecutor)driver;
WebElement dropdowns3 =
driver.findElement(By.xpath("//[@id='unfreezedGridBody']/div[6]/div[3]/div/div/span[3]"));
jse3.executeScript("arguments[0].scrollIntoView()", dropdowns3);
jse3.executeScript("arguments[0].click();", dropdowns3);
Thread.sleep(2000);
driver.findElement(By.xpath("//li[@data-content='PASS']")).click();
Thread.sleep(10000);
JavascriptExecutor jse4 = (JavascriptExecutor)driver;
WebElement dropdowns4 =
driver.findElement(By.xpath("//[@id='unfreezedGridBody']/div[6]/div[4]/div/div/span[3]"));
JavascriptExecutor jse5 = (JavascriptExecutor)driver;
WebElement dropdowns5 =
driver.findElement(By.xpath("//[@id='unfreezedGridBody']/div[6]/div[5]/div/div/span[3]"));
jse5.executeScript("arguments[0].scrollIntoView()", dropdowns5);``
jse5.executeScript("arguments[0].click();", dropdowns5);
Thread.sleep(2000);
driver.findElement(By.xpath("//li[@data-content='PASS']")).click();
Thread.sleep(10000);
【问题讨论】:
-
你能分享html代码或url吗?解决方案是更改 xpath。
标签: javascript java selenium