第二天:计划优先级 -- taobao 订单采集
问题
多店铺管理,不同的缓存可以实现免登录
初步思路,设置不同的CachePath。
经过SEO发现,没办法在同一个进程里面不同的cef浏览器用不同的CachePath
解决办法相关知识点
通过CefSettings设置CachePath
然后Cef.Initialize初始化,每个进程(应用程序)只能调用一次Initialize。
如果要使用不同的CachePath,可以调用Cef.Shutdown,然后再使用不同的CachePath【待验证】
知识点
在cefSharp中实现Jquery,提供编写脚本的效率
从磁盘/数据库/嵌入式资源/流中加载HTML / CSS / JavaScript / etc
string injection_jquery = @"
(function () {
function getScript(url, success) {
var script = document.createElement('script');
script.src = url;
var head = document.getElementsByTagName('head')[0],
done = false;
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 == '') {
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 () {
//here you can write your jquery code
});
}
});
})();";
private void Cef_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) {
ChromiumWebBrowser cef = (ChromiumWebBrowser)sender;
cef.ExecuteScriptAsync(injection_jquery);
}