【问题标题】:Element is not currently visible and so may not be interacted with Command元素当前不可见,因此可能无法与 Command 交互
【发布时间】:2016-03-08 12:51:07
【问题描述】:

这是我项目中的弹出窗口,我在点击它的“我准备返回注册主页”链接时遇到问题。 我通过 id 定位

driver.findElement(By.cssSelector("a[id*='ProgramWizardBase_ctl00_HomePageHyperLink']")).click();

它会抛出错误“元素当前不可见,因此可能无法与元素交互”][1] [1]:http://i.stack.imgur.com/sbjJb.png

【问题讨论】:

标签: selenium webdriver


【解决方案1】:
driver.findElement(By.xpath("//a[@id='ProgramWizardBase_ctl00_HomePageHyperLink']")).click());

【讨论】:

  • Stack Overflow 接受这样的纯代码回答,但对其他人来说并不是非常的帮助。请edit您的回答并解释您的代码是如何工作的。有时,为什么 OP 的代码不起作用
【解决方案2】:

首先你需要移动到像这样的警报:

 driver.switchTo().alert();

然后尝试执行操作(假设您正确找到元素):

driver.findElement(By.cssSelector("a[id*='ProgramWizardBase_ctl00_HomePageHyperLink']")).click();

【讨论】:

    【解决方案3】:

    谢谢大家,实际上该元素是不可见的,所以我尝试了这样 -

    element = driver.findElement(By.cssSelector("a[id*='ProgramWizardBase_ctl00_HomePageHyperL‌​ink']"));
    
    JavascriptExecutor js = (JavascriptExecutor)driver;
    
    js.executeScript("arguments[0].click();", element); 
    

    及其工作..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-13
      • 2016-11-13
      • 2017-01-27
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多