如何在压痕菜单上使用鼠标

时间:2014-06-10 13:27:49

标签: selenium xpath selenium-webdriver webdriver

这是我想自动化的流程(MARKED IN BOLD)==>>我对硒非常陌生

文件

- &gt; 项目 - &gt; Java < / p>

                C#

                Perl

                Python

仅考虑菜单元素中可用的鼠标悬停,除了具有点击功能的最后一个选项(JAVA)

脚本I:

            // MouseHover       
    WebElement menu = wd.findElement(By.linkText("Setup School"));

    WebElement submenu = wd.findElement(By.xpath("//a[contains(text(),'Edit')])[3]"));

    WebElement sidemenu = wd.findElement(By.linkText("Register School"));


    // Action
    Actions action = new Actions(wd);

    // Hover action     

    action.moveToElement(menu).build().perform();
    Thread.sleep(2000);;

    action.moveToElement(submenu).build().perform();
    Thread.sleep(2000);;

    action.moveToElement(sidemenu).perform();
    action.click(sidemenu).build().perform();

剧本II:

            action.moveToElement(menu).build().perform();;
    wd.manage().timeouts().implicitlyWait(20L, TimeUnit.SECONDS);

    action.moveToElement(submenu).build().perform();;
    wd.manage().timeouts().implicitlyWait(20L, TimeUnit.SECONDS);
        action.moveToElement(wd.findElement(By.xpath("//a[contains(text(),'Register School')]"))).click().build().perform();

我已尝试过所有选项,即使Xpath包含(text,href),css和linktext,但没有任何工作。

最初它将鼠标悬停在第一个元素(文件)上,但它在未来的过程中停留..!

            WebElement submenu = wd.findElement(By.xpath("/html/body/table/tbody/tr[2]/td/div/ul/li[3]/a"));
            WebElement submenu = wd.findElement(By.xpath("//a[contains(text(),'Edit')])[3]"));

线程中的异常&#34; main&#34; org.openqa.selenium.InvalidSelectorException:给定的选择器// a [contains(text(),&#39; Edit&#39;)])[3]无效或不会产生WebElement。 发生以下错误:

InvalidSelectorError:由于以下错误,无法找到具有xpath表达式的元素// a [contains(text(),&#39; Edit&#39;)])[3]: [例外......&#34;表达式不是法律表达。&#34;代码:&#34; 12&#34; nsresult:&#34; 0x805b0033(SyntaxError)&#34;地点:&#34;&#34;] 命令持续时间或超时:8毫秒

有关此错误的文档,请访问:http://seleniumhq.org/exceptions/invalid_selector_exception.html构建信息:版本:&#39; 2.42.2&#39;,修订版:&#39; 6a6995d&#39;,时间:&#39; 2014-06-03 17:42:03&#39;

驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabilities [{applicationCacheEnabled = true,rotate = false,handlesAlerts = true,databaseEnabled = true,version = 29.0.1,platform = XP,browserConnectionEnabled = true,nativeEvents = true,acceptSslCerts = true,webStorageEnabled = true,locationContextEnabled = true,browserName = firefox,takeScreenshot = true,javascriptEnabled = true,cssSelectorsEnabled = true}]

引起:org.openqa.selenium.remote.ErrorHandler $ UnknownServerException:给定的选择器// [包含(text(),&#39; Edit&#39;)])[3]无效或者不会导致WebElement。

发生以下错误:

InvalidSelectorError:由于以下错误,无法找到具有xpath表达式的元素// a [contains(text(),&#39; Edit&#39;)])[3]: [例外......&#34;表达式不是法律表达。&#34;代码:&#34; 12&#34; nsresult:&#34; 0x805b0033(SyntaxError)&#34;位置:&#34;&#34;]

这是我在更改xpath(),css(),linktext()时所获得的。

请帮我解决这个问题。!

1 个答案:

答案 0 :(得分:1)

尝试使用以下定位器。

By.xpath("(//a[contains(text(),'Edit')])[3]")