【问题标题】:Selenium click not work硒点击不起作用
【发布时间】:2016-06-06 11:46:16
【问题描述】:

请帮帮我。 Selenium 不会点击元素并且元素是可点击的(selenium 不会产生异常)。 我尝试使用 Id、css、xpath 定位器,没有任何帮助。

我应该如何解决我的问题?

Java 代码示例。

WebElement sector = webDriver.findElement(By.id("sector-1"));
sector.click();

点击后系统必须打开这个页面

【问题讨论】:

  • 你可以尝试使用WebElement sector = webDriver.findElements(By.id("sector-1:canvas")); sector.get(0).click();看看它是否有效

标签: selenium selenium-webdriver


【解决方案1】:

您似乎尝试与 <svg> 元素内的对象进行交互。如果是这样,您不能简单地使用click() 方法来管理它的子元素。

试试这个:

WebElement svgObject = driver.findElement(By.xpath("//polygon[@id='sector-1:canvas']"));
Actions builder = new Actions(driver);
builder.click(svgObject).build().perform();

【讨论】:

    【解决方案2】:

    在 XPath 下使用:

    WebElement sector = webDriver.findElement(By.xpath("//g[@id='sector-1']/polygon"));
    sector.click();
    

    WebElement sector = webDriver.findElement(By.xpath("//polygon[@id='sector-1:canvas']"));
    sector.click();
    

    【讨论】:

      【解决方案3】:

      我决定我的问题。

      WebDriverWait wait = new WebDriverWait(webDriver, 10);
          wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id=\"sector-2:canvas\"]")));
      
          WebElement svgObject = webDriver.findElement(By.xpath("//*[@id=\"sector-2:canvas\"]"));
          Actions builder = new Actions(webDriver);
          builder.click(svgObject).build().perform();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-27
        • 1970-01-01
        • 2016-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-02
        相关资源
        最近更新 更多