gpt4 book ai didi

c# - 头孢夏普 winforms : Inject jquery into page

转载 作者:太空狗 更新时间:2023-10-30 00:02:40 25 4
gpt4 key购买 nike

我正在使用 ChromiumWebBrowser 加载网站,在加载页面后,我将执行一些脚本

browser.ExecuteScriptAsync(script)

但是那个网站不使用 jquery,所以很难编写我的脚本。我想将 jquery 注入(inject)该站点以更轻松地编写我的脚本。我该怎么做?非常感谢

编辑:

我的计算机中有一个 jquery 文件。我想将它添加到我要爬取数据的页面。我尝试使用 LoadingStateChanged 事件,但没有成功。

private void Browser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
{
ChromiumWebBrowser browser = (ChromiumWebBrowser)sender;
lbStatus.SetText(e.IsLoading ? "Loading..." : browser.Address);
if (!e.IsLoading)
{
//Load jquery
}
else
{

}
}

最佳答案

将此代码设置为字符串形式的 script 变量,然后调用 browser.ExecuteScriptAsync(script)

(function () {
// more or less stolen form jquery core and adapted by paul irish
function getScript(url, success) {
var script = document.createElement('script');
script.src = url;
var head = document.getElementsByTagName('head')[0],
done = false;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function () {
if (!done && (!this.readyState
|| this.readyState == 'loaded'
|| this.readyState == 'complete')) {
done = true;
success();
script.onload = script.onreadystatechange = null;
head.removeChild(script);
}
};
head.appendChild(script);
}
getScript('http://code.jquery.com/jquery-latest.min.js', function () {
if (typeof jQuery == 'undefined') {
console.log('Sorry, but jQuery wasn\'t able to load');
} else {
console.log('This page is now jQuerified with v' + $.fn.jquery);

$(document).ready(function () {
alert(1);
//here you can write your jquery code
});
}
});
})();

关于c# - 头孢夏普 winforms : Inject jquery into page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36999063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com