【问题标题】:Selenium RC skips onclick() event after click on elementSelenium RC 在单击元素后跳过 onclick() 事件
【发布时间】:2013-08-03 16:09:16
【问题描述】:

我遇到了无法处理的问题。我尝试在谷歌中搜索答案,尝试了一些东西,但它没有任何效果。

问题来了:

我正在测试一个登录页面,我在其中输入登录名、密码并单击“登录”按钮。一切正常,我正在登录页面...但是在登录之前(单击“登录”按钮后)应该出现一个带有一些信息和“确定”按钮的提示,提示是“登录”的 onclick() 事件“ 按钮。我不知道为什么提示没有出现,我真的需要这个提示(我有类似的问题提示“你想保存更改”也没有出现 - 我假设 selenium.click(.. ,..) 和 webelement.click() 以某种方式绕过 onclick() 事件。你知道如何让 onclick() 事件正常工作吗?我正在使用 IE(我必须)和 selenium webdriver。

Ps.:如果我“手动”执行相同的操作,则会出现提示,所以我认为这不是 javascript 中的错误。

Ps2.: 请帮帮我,我正在尝试修复它 5 小时...:(

按钮代码:

<input id="loginForm:loginCmdTest" type="submit" onclick="showAlertAndSubmitForm    ();clear_loginForm();" value="Login" name="loginForm:loginCmdTest">

java代码:

selenium.type("id=loginForm:login", login);
selenium.type("id=loginForm:pass", pass);
selenium.click("id=loginForm:loginCmdTest");

Ps.3:有人吗??有什么想法吗?

【问题讨论】:

  • 您需要发布一些代码,以便人们可以看到问题所在。

标签: java javascript selenium webdriver selenium-webdriver


【解决方案1】:

简单猜测:您使用的是旧的、已弃用的 Selenium RC。如果转移到 webdriver 方法会发生什么?

示例代码:

WebDriver driver = new FirefoxDriver();
driver.get("http://your-test-site.com");
driver.findElement(By.id("loginForm:login")).sendKeys("login");
driver.findElement(By.id("loginForm:pass")).sendKeys("pass");
driver.findElement(By.id("loginForm:loginCmdTest").click();

【讨论】:

  • 它...有效:O 我尝试过类似的东西:selenium.type("id=loginForm:login", "log"); selenium.type("id=loginForm:pass", "pas"); driver.findElement(By.id("loginForm:loginCmdTest")).click();但它没有用。我不知道我设置登录和传递输入的方式有什么意义(重要性?)。谢谢伙计,现在我将仅使用使用 webdriver 的驱动程序方式(我发现 selenium。...更容易 [更快])。非常感谢:D
  • 很高兴听到我的猜测是正确的。享受网络驱动程序;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 2022-11-01
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多