使用chrome extend写一个操作京东网页的JavaScr
2018-04-07 本文已影响51人
reneeChoi
如何自定义一个chrome extend?
一个最简单的chrome extend最要由两个文件构成,一个是配置文件mainfest.json,另一个是操作的JS文件,这个JS是在mainfest.js里面引入的。然后chrome浏览器引入插件的过程是:设置—扩展程序,然后点击“加载已解压的扩展程序”,选择已经写好的程序,接着打开jingdong就可以触发extend。
下面是我写操作京东的配置文件代码manifest.json:
"name": "jd-extends",
"manifest_version": 2,
"version": "1.0",
"description": "access www.jd.com,search goods.",
"browser_action": {
// "default_icon": "1.png"
"default_popup": "index.html"
},
"permissions": [
"tabs", "http://*/*","https://*/*"
],
"content_scripts": [
{
"matches": ["https://www.jd.com/*","https://search.jd.com/*","https://item.jd.com/*"],
"js": ["jquery.min.js","javascript.js"]
}
]
}
主要是"content_scripts"这个变量,把需要matches的网页卸载matches后面,操作网页面的js用js文件写好病并引入,网页和js都可以引入多个
怎么使用JavaScript操作京东网页?
javascript.js文件的代码
// var cycleNumber = $(".cycle-number").val();
if(window.location.host == "www.jd.com"){
// alert(cycleNumber);
clearCookie();
setInterval(function(){
if(Date.now()>=new Date("2016-10-23 01:04:00")){
// document.getElementById("key").value("韩版女装");
$("#key").val("韩版女装");
$("#key").parent().find("button").click();
}
},10)
}
if(window.location.host == "search.jd.com"){
$("#J_goodsList").find("li").find("img")[0].click();
// setTimeout("window.close()",12000)
}
if(window.location.host == "item.jd.com"){
if($(document).scrollTop() + $(window).height() < $(document).height()){
setInterval("moveScroll()",800);
}
setTimeout("closeChrome()",10000);
}
//the scroll move
function moveScroll(){
var h = $(document).height()-$(window).height();
$(document).scrollTop(h);
}
//close chrome
function closeChrome(){
clearCookie();
window.close();
}
//delete all cookie
function clearCookie(){
var keys=document.cookie.match(/[^ =;]+(?=\=)/g);
if (keys) {
for (var i = keys.length; i--;)
document.cookie=keys[i]+'=0;expires=' + new Date( 0).toUTCString()
}
}
上面的操作过程主要是:在京东首页搜索“韩版女装”,然后点击搜索(www.jd.com)后跳转到浏览搜索结果(search.jd.com),接着进入搜索结果的第一条,然后在浏览页面到底部,后停留10000ms后关闭页面(item.jd.com)。因为操作了三个页面,所以每个页面都要做相应的判断才操作,不然就会报错说找不到该元素。