【问题标题】:Submit button not working in Selenium webdriver提交按钮在 Selenium webdriver 中不起作用
【发布时间】:2015-08-05 16:04:16
【问题描述】:

当我启动 ChromeDriver 或 IEDriver 并单击提交按钮(手动和自动)时,它不会发送输入。虽然它在 webdriver 之外工作,我可以单击提交按钮并发送输入,但在 webdriver 中,它似乎没有做任何事情。这是 webdriver 有问题吗?

谢谢。

注意:selenium 版本是最新的 2.47.0 以及 chrome 和 chromedriver。我无法提供该网页的链接,因为它是私人服务器。这是按钮的代码

<span id="button-1429-btnInnerEl" class="x-btn-inner x-btn-inner-center" unselectable="on">Submit All</span>

【问题讨论】:

  • 能否添加更多详细信息,例如 selenium 版本。ie 版本,chrome 版本,iedriverserver 版本,chromedriver 版本,是否可以提供网页的链接。或按钮的 html 代码。
  • selenium 版本是最新的 2.47.0 以及 chrome 和 chromedriver。我无法提供该网页的链接,因为它是私人服务器。这是按钮的代码...全部提交。 . 谢谢
  • 你在使用 sencha extjs 应用吗?如果是,是哪个版本的 extJS
  • 你使用的选择器是什么[xpath]
  • 我们使用的是 extJS 4,我使用了 //span[text()='Submit All']

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

有同样的问题。使用element.sendKeys(Keys.ENTER) 为我解决了这个问题。

【讨论】:

    【解决方案2】:

    尝试用 javaScript 点击它:

    var element = driver.FindElement(By.Xpath("//span[contains(@id, 'button-1429')]"));
    
     var js = (IJavaScriptExecutor) driver;
     js.ExecuteScript("arguments[0].click()", element);
    

    【讨论】:

    • 我试过了,但它对我不起作用。不过谢谢
    • 你遇到了什么异常?
    • 也不例外,测试通过但实际上并没有提交任何东西。当我查看测试时,我可以清楚地看到 selenium 与按钮交互,但它实际上并没有提交任何东西。
    • 您是否检查了该元素并在搜索框中键入“全部提交”以仔细检查是否只有一个元素带有该文本。因为如果不是,那可能是按钮未被点击的原因之一?
    • 当我在控制台中使用 xpath 进行搜索时,我只看到一个元素显示。不过好点。我认为这可能与 extjs 4 有关?
    【解决方案3】:

    会解决的,这里我用的是python语言。 首先,您需要导入 Keys,下面的代码将帮助您。

    from selenium.webdriver.common.keys import Keys
    login_btn=driver.find_element_by_id('button-1429-btnInnerEl').send_keys(Keys.ENTER)
    

    【讨论】:

      【解决方案4】:

      解决方案:-

      第 1 步。 import org.openqa.selenium.Keys;

      第 2 步。 driver.element.sendKeys(Keys.ENTER);

      【讨论】:

        【解决方案5】:

        你可以试试这个:-

        driver.findElement(By.xpath("//*[contains(text(),'Submit All')]")).click();
        

        【讨论】:

        • 能否请您添加适当的解释以便更好地理解
        • 我使用了自定义的 xpath,它找到了一个包含文本“Submit All”的元素,然后单击它。如果你想要带有 id 或 name 的 xpath,请分享按钮的代码,它肯定会以
        【解决方案6】:

        您可以使用动作类。可能是 Button is in Displayed false。

        IWebElement button = driver.FindElement(By.Id("submit")); // locate the button
        Actions action = new Actions(driver);
        action.MoveToElement(button).Click().Perform(); 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-16
          • 1970-01-01
          • 2017-08-18
          • 1970-01-01
          相关资源
          最近更新 更多