微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium 悬停在下拉标签上

如何解决Selenium 悬停在下拉标签上

我正在尝试使用 selenium 进行 UI 自动化。我必须做的一项简单任务是将鼠标悬停在下拉元素上。我曾尝试使用 MovetoElement 命令,它成功运行且没有错误,但在我的自动化运行过程中从未打开下拉列表。例如,我试图在梅西的网站上运行它。我已经尝试过以下这些陈述中的任何一个,但都没有运气。

Either this statement
action.MovetoElement(driver.FindElement(By.XPath("//*[@id='showByDepartmentCaret']"))).Build().Perform();

Or
action.MovetoElement(driver.FindElement(By.XPath("//*[@id='shopByDepartmentLabelText']"))).Build().Perform();

解决方法

试试这个方法。您需要先点击下拉菜单以打开菜单

虽然。所以我想知道你的问题是否真的是,我如何点击下拉链接?

        public static void HoverByXpath(string value)
    {
        var element = _wait.Until(c => c.FindElement(By.XPath(value)));
        Actions action = new Actions(driver);
        action.MoveToElement(element).Perform();
    }

如果我查看梅西百货的网站,我会做这样的事情。

Driver.FindElement(By.ID("showByDepartmentCaret")).Click();  

Driver.FindElement(By.Xpath("//div[@id='mainNavigation']//a/span[text()='jewelry']")).Click();

这对我有用:

            Driver.Goto("https://www.macys.com/");
        Driver.FindElement(By.ID("shopByDepartmentLabelText")).Click();
        Driver.FindElement(By.Xpath("//div[@id='mainNavigation']//a/span[text()='jewelry']")).Click();
,

解决了我的问题。我在笔记本电脑上的显示设置不是 100%。不过浏览器很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。