【发布时间】:2021-05-11 06:56:36
【问题描述】:
我正在使用以下代码对以下场景进行测试
- 使用 Java 语言为 amazon.com 创建 Selenium Web 浏览器测试,并提供以下详细信息:
- 搜索 Nikon 并按价格从高到低对结果进行排序。
- 选择第二个产品,点击查看详情。
public void test() {
System.setProperty("webdriver.chrome.driver","/Users/dimuthugunarathna/browserdrivers/chromedriver 3");
ChromeDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://amazon.com/");
driver.findElement(By.cssSelector("#twotabsearchtextbox")).sendKeys("Nikon");
driver.findElement(By.cssSelector("#nav-search-submit-button")).click();
driver.findElement(By.cssSelector("#a-autoid-0-announce[data-action='a-dropdown-button']")).click();
driver.findElement(By.cssSelector("[aria-labelledby='s-result-sort-select_2']")).click();
WebElement parent = driver.findElement(By.xpath("//div[contains(@class, 's-main-slot')]"));
System.out.println(parent.getAttribute("class"));
WebElement child = parent.findElement(By.xpath("//div[@data-index='1']"));
System.out.println(child.getAttribute("class"));
WebElement childLink =child.findElement(By.cssSelector(".a-link-normal"));
childLink.click();
WebElement child = parent.findElement(By.xpath("//div[@data-index='1']"));总是导致找不到元素错误。有人可以帮我吗?
【问题讨论】:
-
尝试将 .// 添加到该 xpath 并打印出父母的 innerhtml 以查看该元素是否具有该 xpath。
标签: java selenium selenium-webdriver xpath css-selectors