鼠标悬停在元素上

时间:2013-01-21 12:06:48

标签: selenium mouseover selenium-webdriver

http://www.franchising.com/ --->鼠标悬停(特许经营A-Z)--->需要点击Q

我尝试了以下

WebElement we1=driver.findElement(By.cssSelector("a[href='/franchises/']"));

WebElement we2=driver.findElement(By.cssSelector("a[href='/franchises/q.html']"));

String js = "arguments[0].style.height='auto'; arguments[0].style.visibility='visible';";

((JavascriptExecutor) driver).executeScript(js, we2); // I have used the script since the we2 is not visible

Actions builder=new Actions(driver);
builder.moveToElement(we1).perform();
Thread.sleep(5000);
we2.click();

任何人都可以尝试并分享我的代码......我仍然得到“ElementNotVisibleException”

2 个答案:

答案 0 :(得分:0)

使用firefoxdriver,很大程度上取决于您使用的驱动程序版本以及您的系统上的Firefox版本,因为本机支持会因此而有所不同。

以下适用于Chrome:

WebElement link1 = driver.findElementByLinkText("Franchises A-Z");
Actions action = new Actions(driver);
action.moveToElement(link1).click(driver.findElementByXPath("//a[contains(@href,'franchises/b')]")).perform();

答案 1 :(得分:0)

在进入代码之前,我只想确保您使用的Selenium服务器版本。请转到2.28.x

的更新版本

<强>代码:

    driver = new FirefoxDriver();
    driver.get("http://www.franchising.com/franchises/");
    Thread.sleep(5000);
    WebElement element=driver.findElement(By.xpath("//tr[3]/td/table/tbody/tr/td[4]/a"));
    Actions builder = new Actions(driver);
    builder.moveToElement(element).build().perform();
    Thread.sleep(5000);

它对我来说很好。试试这个代码。我希望这会奏效。