0

http://www.franchising.com/ ---> 鼠标悬停(Franchises AZ)---> 需要点击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”

4

2 回答 2

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);

这对我来说可以。试试这个代码。我希望这会奏效。

于 2013-01-22T06:47:42.007 回答
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();
于 2013-01-22T05:00:27.717 回答