java - 将鼠标悬停在亚马逊的下拉菜单上

标签 java selenium selenium-webdriver action webdriverwait

我只想将鼠标悬停在亚马逊网站上的“部门”下拉列表上。代码看起来不错,但列表没有显示。这是我试图显示的部门下拉列表

这是我的代码

    driver = new ChromeDriver();
    driver.get("https://www.amazon.com");
    Actions actions = new Actions(driver);
    WebElement ele = driver.findElement(By.xpath("//span[@class='nav-line-2']"));
    Thread.sleep(300);
    actions.moveToElement(ele);
    actions.perform();
    actions.perform();

最佳答案

看起来xpath不是唯一的并且具有相同的定位器,在页面中定位了6个元素。当我们有多个具有相同定位器的元素时, Selenium 会选择第一个元素。就您而言,不幸的是“部门”不是具有该定位器的第一个元素。

将您的 xpath 更改为以下内容:[已测试并有效]

//span[@class='nav-line-2' and contains(.,'Departments')]

关于java - 将鼠标悬停在亚马逊的下拉菜单上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53034550/

相关文章:

java - Protobuf C++ 与 Android Java

java - for循环Java返回值

java - @Resource 未注入(inject)到作为 CDI 托管 bean 的 JAX-WS SE 中

java - 在带有 Java 的 Selenium 中使用 @Factory 注释后无法运行测试

selenium - 无法使用浏览器堆栈运行我的 Selenium 代码

java - 一旦调用 driver.get(URL) 方法,Selenium Java 客户端就无法取回控制权

java - 哪种方法更适合在 sqlite 数据库中存储键值对?

google-chrome - Selenium 打开未登录 Chrome 帐户的 chrome

ruby - 当 Net::ReadTimeout 错误发生时, capybara 不会关闭浏览器

python-3.x - 为什么我无法将 cookie 上传到 Selenium?