嘿,我正在使用RFT,以便在Pega网站页面上自动生成一个页面。然而,自动化似乎无法触发我正在插入字符串的输入的更改事件。这个输入框似乎位于
在…内
一
iframe
也许这就是为什么它在失去对输入框的关注时不触发onchange事件的原因?
RFT确实使用
硒
在他们的程序中与网页进行交互。
输入框的html:
<input
data-id="204083727717650"
data-ctl="["TextInput"]"
id="BBOX"
maxlength="15"
validationtype="required"
value=""
name="$PpyWorkPage$pBBOX$pBBOX"
class="leftJustifyStyle"
data-change="[["refresh",
["otherSection",
"RecordInformation",
"",
"&=",
"",
"BBOXOnChange,",
":event",
"",
"pyWorkPage.BBOX"
]
]]"
type="text">
我尝试过的Selenium代码如下:
driver.switchTo().frame(driver.findElement(By.name("PegaGadget")));
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("BBOX")));
final WebElement BBOXInputBox = driver.findElement(By.id("BBOX"));
BBOXInputBox.click();
BBOXInputBox.click();
Thread.sleep(2000);
BBOXInputBox.sendKeys("204083727717650");
Thread.sleep(2000);
BBOXInputBox.sendKeys(Keys.TAB);
Thread.sleep(2000);
BBOXInputBox.sendKeys(Keys.BACK_SPACE);
Thread.sleep(2000);
BBOXInputBox.sendKeys("1");
Thread.sleep(200);
BBOXInputBox.sendKeys(Keys.TAB);
Thread.sleep(2000);
Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.id("FirstName_U")), 5, 5).click().build().perform();
driver.findElement(By.id("FirstName_U")).sendKeys("something");
我正在尽我最大的努力在30多个函数中找到这个函数。任何一个页面的js文件。
因此,有人比我更了解JS中这种类型的编码,请设置,让我知道我应该在未来的搜索。js源代码,这样我就可以发射这个
改变事件
在代码中手动执行。
似乎当我点击文本框,输入几个字母,然后点击同一表单上的选项卡或另一个输入框时,就会触发某种类型的事件/函数,填充页面上的标签。
我一直在寻找的东西。js源代码将是一个名为
刷新(…)
或者类似于
刷新:函数(…)。。。
或
_刷新:函数(…)。。。
但我还没有找到任何类似于它发送到该函数的参数的东西。