元素。在.Net中使用PhantomJS selenium webdriver时,单击“不执行”

元素。在.Net中使用PhantomJS selenium webdriver时,单击“不执行”,.net,selenium,selenium-webdriver,phantomjs,ghostdriver,.net,Selenium,Selenium Webdriver,Phantomjs,Ghostdriver,我使用的是我们现有的工具,使用SeleniumIWebDriver的Firefox和Chrome实现,它可以完美地工作 我现在正在使用PhantomJS实现进行一些实验。 到现在为止,一直都还不错。然而,只要我想点击一个按钮,它什么也不做 但是,我可以检索元素,更仔细地查看其属性“Selected”属性声明如下: Error Message => 'Element is not selectable' caused by Request => {"headers":{"Acc

我使用的是我们现有的工具,使用SeleniumIWebDriver的Firefox和Chrome实现,它可以完美地工作

我现在正在使用PhantomJS实现进行一些实验。 到现在为止,一直都还不错。然而,只要我想点击一个按钮,它什么也不做

但是,我可以检索元素,更仔细地查看其属性“Selected”属性声明如下:

    Error Message => 'Element is not selectable' caused by Request => {"headers":{"Accept":"application/json, image/png","Connection":"Close","Host":"localhost:37704"},"httpVersion":"1.1","method":"GET","url":"/selected","urlParsed":{"anchor":"","query":"","file":"selected","directory":"/","path":"/selected","relative":"/selected","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/selected","queryKey":{},"chunks":["selected"]},"urlOriginal":"/session/fcaf88a0-40b4-11e3-960d-bdce3224aacf/element/%3Awdc%3A1383063211142/selected"}
我想这是我的点击没有被执行的原因,但是,我不能从这个错误消息中做出正面或反面的判断。使用谷歌也无济于事

任何帮助都将不胜感激


提前感谢。

我们在PhantomJS上遇到了很多类似的问题

所以,有两个步骤来找出它的根本原因

  • 设置屏幕大小(如注释中建议的;PhantomJS默认使用400x300):

  • 用于验证图元是否实际可见:

    new WebDriverWait(driver,
    TimeSpan.FromSeconds(timeOut)).Until(ExpectedConditions.ElementExists((By.Id(login))));
    
  • 用Javascript单击元素

    IJavaScriptExecutor js = _driver as IJavaScriptExecutor;
    js.ExecuteScript("arguments[0].click();", buttonToClick); //buttonToClick is IWebElement
    
  • 对于Java而言,它将如下所示:

  • 屏幕大小

    driver.manage().window().setSize(new Dimension(width, height));
    
  • 验证元素是否可见

    WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("LOCATOR")));
    
  • 用JS点击

    JavascriptExecutor js = (JavascriptExecutor)driver;
    js.executeScript("arguments[0].click();", buttonToClick); //buttonToClick is WebElement
    

  • 你找到解决方法了吗?试着在使用phantomjs时将浏览器窗口的大小增加到(1200800)。我有一个相同的问题,它得到了解决。请分享你的代码和网页的HTML,只有这样我们才能得到实际的问题。如果你找到你的ID元素,尝试找到不同的位置。我曾经遇到过一个非常困难的情况,即使用ID定位无法与GhostDriver一起工作。感谢所有的回复,伙计们,很抱歉我没有回到这里。我们决定不使用这个驱动程序,尽管可能会加快测试过程。我如何在java中实现相同的功能?@B.J.A.A.用java解决方案编辑答案
    JavascriptExecutor js = (JavascriptExecutor)driver;
    js.executeScript("arguments[0].click();", buttonToClick); //buttonToClick is WebElement