首页 > 解决方案 > 无法使用 Selenium Java 自动注销 Amazon.com

问题描述

我正在尝试做一个简单的 selenium java 自动化来自动化“登录和退出 amazon.com 站点”。我可以使用元素定位器技术登录,例如 XPath 和 CSS 选择器。但是对于注销,我抛出了 ElementNotInteractable 异常。

下面是我尝试过的代码(单独发布注销的代码段)。

WebElement element1 = driver.findElement(By.xpath("//header/div[@id='navbar']/div[@id='nav-belt']/div[3]/div[1]/a[1]/span[1]"));
element1.click();
driver.findElement(By.xpath("//a[@id='nav-item-signout']")).click();

我已经用 CSS 选择器等不同的元素定位器技术尝试了上面的代码段,但没有运气。请建议我是否可以通过任何其他方法在弹出菜单中找到并单击退出链接。谢谢。

标签: javaselenium

解决方案


您可以尝试下面的代码,其中实现了显式等待,因此它将等待元素单击

WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement element1 =driver.findElement(By.xpath("//header/div[@id='navbar']/div[@id='nav- 
       belt']/div[3]/div[1]/a[1]/span[1]"));
element1.click();
ele2=driver.findElement(By.xpath("//a[@id='nav-item-signout']"))   
wait.until(ExpectedConditions.elementToBeClickable(ele2));
ele2.click();

推荐阅读