如何从ajax更新的页面中获取内容
how do I get contents from page updated by ajax?
我在应用程序中使用WebBrowser
。当我点击提交按钮时,一些javascript会运行,通过使用ajax,页面会获得一些我想要保存的新内容。但它不起作用,如果我这样做:
btn.InvokeMember("click"); // send the form and then runs AJAX
Thread.Sleep(1000 * 10); // it doesn't take so long... but about 1000
var d = browser.Document.GetElementsByTagName("p"); // p is null
但如果我通过点击按钮调用var d = browser.Document.GetElementsByTagName("p");
,即使我删除了Thread.Sleep(1000 * 10);
,它也能工作(p
不是null
)
我不知道为什么。这并不是因为p
HTML标记还没有加载,因为即使没有Thread.Sleep()
调用,点击按钮也会花费更少的时间,但我得到了HTML元素。
我希望这是清楚的,但如果不是,告诉我,我会努力澄清。
尝试timer
而不是sleep
,然后检查浏览器。ReadyState == WebBrowserReadyState.Complete
相关文章:
- 获取ajax加载的图像的大小
- 在foreach中获取ajax结果
- 获取ajax请求的请求头
- 使用Pebble.js获取AJAX请求时出错
- 如何在使用 DATATABLES 发送到模板之前获取 AJAX 响应
- 获取 ajax 创建的复选框的值
- 是否可以在其他文件中获取 AJAX 成功变量的值
- 获取AJAX中未定义的值(x),web api
- 无法获取 AJAX 响应
- 如何获取ajax调用返回的元素数
- 可以't获取ajax请求jquery,什么也没发生
- 如何从成功中获取 ajax 响应并使用 jQuery 将其分配给变量中
- 可以't获取AJAX发送的phpPOST
- 如何用纯javascript获取ajax请求的ContentType
- 使用PHP获取AJAX或js操作后的文档源
- Flexigrid正在获取ajax响应
- 获取ajax post请求中传递的参数
- 获取 ajax 在 laravel 中发布数据
- 无法获取 AJAX 表单来提交 MySQL 数据
- 获取 ajax 发布请求的用户输入