Selenium 鼠标悬停在元素上

Selenium 鼠标悬停在元素上,selenium,mouseover,selenium-webdriver,Selenium,Mouseover,Selenium Webdriver,-->(特许经营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'; argume

-->(特许经营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();

谁能试着和我分享代码。。。尽管如此,我还是得到了firefoxdriver的“ElementNotVisibleException”

,这在很大程度上取决于您使用的驱动程序版本以及系统上的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();

在讨论代码之前,我只想让您确保您使用的是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);

这对我来说很好。试试这个代码。我希望这能起作用。

我已经尝试了上面的代码。。。我仍然得到“元素不可见”错误。。。因此,除了上面的代码之外,我还首先放置了以下脚本,然后是代码字符串js=“arguments[0]。style.height='auto';arguments[0]。style.visibility='visible';”;((JavascriptExecutor)driver.executeScript(js,driver.findelementbypath(//a[contains(@href,'特许经营/b')])));一旦我执行了B链接,它就变成了,但是我仍然得到了“ElementNotVisibleException”错误FF 11,selenium-2.28.0