当前位置: 首页 > 知识库问答 >
问题:

如何用Java在Selenium中点击各菜单的子链接

明利
2023-03-14

我正在尝试使用每个菜单的链接https://www.bloomingdales.com/Click子链接。下面是我尝试的代码。

public void iClickOnFOBSShouldVerifyTheRespectivePages() throws Throwable {

    List allElements = Elements.findElements(By.xpath("//ul[@id='mainNav']/li/a"));

    for (int i = 0; i <= allElements.size(); i++) {
        List<WebElement> links = Elements.findElements(By.xpath("//ul[@id='mainNav']/li/a"));
        WebElement ele = links.get(i);
        ele.click();


        List<WebElement> childlinks = Elements.findElements("left_facet.left_nav");
        for (int j = 0; j <= childlinks.size(); j++) {
            List<WebElement> ele2 = Elements.findElements(By.xpath("left_facet.left_nav"));
            WebElement ele3 = links.get(i);
            ele3.click();
            Navigate.browserBack();
        }
    }

下面是我得到的错误

org.openqa.selenium.staleElementReferenceException:过时元素引用:元素未附加到页面文档

共有1个答案

欧阳高昂
2023-03-14

尝试以下操作::list ele=driver.findelements(By.xpath(“//ul[@id='main nav']/li/a”));Actions act=新操作(驱动程序);

    Thread.sleep(4000);

    for (int i = 0; i <= ele.size(); i++) {
        WebElement a =ele.get(i);
        act.moveToElement(a).build().perform();
        Thread.sleep(2000);
        List<WebElement>ChildMenu=driver.findElements(By.xpath("//nav[@id='nav']/div[2]/div/div/div[@class='flyoutCol']/div/ul/li"));
        System.out.println("Sub-Menu="+ChildMenu.size());
        for(int j=0;j<ChildMenu.size();j++){
            ChildMenu.get(i).click();
             Thread.sleep(2000);
             driver.navigate().back();
             Thread.sleep(2000);

            act.moveToElement(a).build().perform();
 类似资料:
  • 我有这样的div和超链接: 如何点击这个< code >编辑超链接? 我试了下面的方法,但是对我不起作用

  • 我无法单击子菜单。。尝试使用不同的xpath/id。。。。。 下面是html标签,主菜单是演示文稿(用红色箭头标记),子菜单在div下。 您能告诉我如何为此编写xpath吗。我想单击子菜单中的“假设”。 这里主菜单标签位于div(子菜单)的底部。 另附硒代码。请帮帮我。。。。

  • 在测试我的Web应用程序时,我无法单击菜单项(创建缺陷…),如图所示 下面的代码点击图像(手部图像),如图所示 然后菜单打开。现在我想单击菜单项。我正在为此使用下面的代码 但我得到了上面提到的例外。 这是我在网页上的内容: 你能建议一下吗?

  • 我有一个html链接

  • 问题内容: 我正在FireFox中使用Selenium的IDE进行一些测试,我希望Selenium单击第二个链接(Text2)。知道我该怎么做吗?不幸的是,我无权访问HTML并且无法对其进行修改。记录功能似乎没有注册点击。 该代码附在下面。提前致谢! 问题答案: 硒也支持定位器。如果您知道确切的链接文本,则可以使用此定位器,但不能使用其他定位器。因此,对于上述示例:或。(有关其他定位器,请参见此网

  • 我不能点击子菜单项使用selenium网络驱动程序使用c#。我正在使用IE9和FireFox 13。我尝试过Action Builder,但它不起作用。它给出了一个错误,说元素不能被单击。 我甚至使用了javascript:js。ExecuteScript(“return$(\”a:contains('ID1')\”).mouseover();”;//鼠标移动到主菜单 webDriver。Find