繁体   English   中英

Selenium WebDriver和JavaScript更改

[英]Selenium WebDriver and JavaScript change

我到底如何获得这个Javascript方法

$('#principal_uid').change(function() {
if($(this).val().length > 0){
 window.location.href = "/switch.html" + "?uid=" + $(this).val();
  } else {
  window.location.href = "/index.html";

要与我的Selenium WebDdriver测试一起使用,我在哪里尝试更改该字段的值? 问题是该字段具有默认值,但是Selenium clear()方法无法清除它,尽管测试通过了。

我尝试了一些

 WebElement field =driver.findElement(By.id("principal_uid"));
 JavascriptExecutor js = (JavascriptExecutor) driver;
 js.executeScript("$('#principal_uid').change");
 field.clear();


field.sendKeys("newValue"+Keys.RETURN); //CHRASHED THE TEST WITH ERROR COMMUNICATING REMOTE SERVER ERROR

尝试这样的事情:

js.executeScript("$('#principal_uid').val('%s')".format("newValue"));

这将触发“ onchange”事件,并按照代码中的说明将您重定向到页面。

如果未触发事件(尽管应该触发),则可以添加:

js.executeScript("$('#principal_uid').trigger('change')")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM