背景
问题:
我想填写详细信息的表格会动态更改,并推送具有随插入的每个字符而更改的值的新输入字段。
此输入字段具有多个事件监听器,据我从Chrome调试中发现,keypress事件与我最相关,因为这最终会生成更新值
页面“加载”时出现以下错误: [User1st]提取语言代码TypeError时发生错误:无法调用未定义的方法“ getAttribute”
4.cghjavascript.StrictErrorReporter:runtimeError:message = [指定了无效或非法的选择器(选择器:'* ,: x',错误:无效的选择器:*:x)。] sourceName = https://???/jquery-1.10.2.min.js]行= [3] lineSource = [null] lineOffset = [0]
一些代码:
WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.waitForBackgroundJavaScript(5000);
final HtmlPage page = webClient.getPage(WEBSITE_URL);
HtmlForm loginForm = page.getFormByName("login");
HtmlTextInput userIdField = loginForm.getInputByName("USERID");
HtmlPasswordInput passwordField = loginForm.getInputByName("USERPASSWORD");
userIdField.type("ID");
passwordField.setText("PASSWORD");
我接下来要做的只是简单地迭代表单输入字段并查看其值。
如何确保所有相关的js代码真正得到执行?
答案 0 :(得分:0)
我不确定这是否有帮助,只是让脚本进入睡眠状态对我有用。这可能会花一些时间来加载所有js脚本。
Thread.sleep(2000);