我在Java中使用Selenium,我正在学习Selenium来运行简单的测试。我正在做的测试是:
我注意到他们在他们拥有data-ri
和data-row
的div下的谷歌图片,所以例如第一行是data-row=0
,第二行是data-ri=1
,班级为rg_di
。如何使用Selenium在Java中编写代码以从图像搜索中获取第二个元素。我在考虑使用Xpath,但我很困惑。
编辑(忘记发布我以前的代码):
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://google.ca");
System.out.println("Page title: " + driver.getTitle());
String title = driver.getTitle();
driver.manage().window().maximize();
Assert.assertTrue(title.contains("Google"));
Assert.assertFalse(title.contains("Yahoo"));
driver.findElement(By.linkText("Images")).click();
driver.findElement(By.id("lst-ib")).sendKeys("google");
driver.findElement(By.id("sblsbb")).click();
driver.findElement(By.className("rg_l")).click();
}
答案 0 :(得分:0)
此处data-row
表示行索引,data-ri
表示图像索引,其中两者都以0
索引开头,您只需通过By.cssSelector()
找到确切的图像即可data-ri
图片的属性索引,如果你想要第二张图片,你应该简单地使用如下: -
String imageIndex = "1";
WebElement image = driver.findElement(By.cssSelector("div[data-ri = '" + imageIndex + "'] img"));
注意: - 如果您想要其他图片,请更改您想要的imageIndex
。