Compare commits
2 Commits
3f49544b1c
...
0a7cc09b1f
| Author | SHA1 | Date | |
|---|---|---|---|
| 0a7cc09b1f | |||
| 242474085a |
@ -47,7 +47,7 @@ task(itemsSelector:string, fieldSelectors:string, urlTemplate:string, pages:numb
|
|||||||
// a task extracting data from a list of pages
|
// a task extracting data from a list of pages
|
||||||
task(itemsSelector:string, fieldSelectors:string[], urls:string[])
|
task(itemsSelector:string, fieldSelectors:string[], urls:string[])
|
||||||
// a task extracting data of urls which extracted from last task result
|
// a task extracting data of urls which extracted from last task result
|
||||||
task(itemsSelector:string, fieldSelectors:string[], urls:ExractResult)
|
task(itemsSelector:string, fieldSelectors:string[], urls:ExtractResult)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Advanced Usage
|
## Advanced Usage
|
||||||
|
|||||||
@ -153,7 +153,8 @@ function sendMessage(tab, req, cond, interval) {
|
|||||||
console.log("request for", req.from);
|
console.log("request for", req.from);
|
||||||
let tabAvailable = await getTabByID(tab.id);
|
let tabAvailable = await getTabByID(tab.id);
|
||||||
if (!tabAvailable) {
|
if (!tabAvailable) {
|
||||||
throw new Error("Task interupted due to the target tab is closed.");
|
reject("Task interupted due to the target tab is closed.");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
chrome.tabs.sendMessage(tab.id, req, r => {
|
chrome.tabs.sendMessage(tab.id, req, r => {
|
||||||
@ -183,6 +184,7 @@ async function getActiveTab(currentWindow) {
|
|||||||
async function getTabByID(id) {
|
async function getTabByID(id) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
chrome.tabs.get(id, function (tab) {
|
chrome.tabs.get(id, function (tab) {
|
||||||
|
chrome.runtime.lastError;
|
||||||
resolve(tab);
|
resolve(tab);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@ -47,7 +47,7 @@ class Extractor {
|
|||||||
this._results[this._tasks[this._tasks.length - 1]] = result;
|
this._results[this._tasks[this._tasks.length - 1]] = result;
|
||||||
this.save();
|
this.save();
|
||||||
}
|
}
|
||||||
);
|
).catch(err => console.log(err));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* restart from specified task, but don't restart the previous tasks.
|
* restart from specified task, but don't restart the previous tasks.
|
||||||
@ -76,7 +76,7 @@ class Extractor {
|
|||||||
this._results[this._tasks[this._tasks.length - 1]] = result;
|
this._results[this._tasks[this._tasks.length - 1]] = result;
|
||||||
this.save();
|
this.save();
|
||||||
}
|
}
|
||||||
);
|
).catch(err => console.log(err));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Save result of a task
|
* Save result of a task
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
class ExractResult {
|
class ExtractResult {
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
this._data = data || [];
|
this._data = data || [];
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ task(itemsSelector:string, fieldSelectors:string[])
|
|||||||
task(itemsSelector:string, fieldSelectors:string[], url:string, from:number, to:number, interval:number)
|
task(itemsSelector:string, fieldSelectors:string[], url:string, from:number, to:number, interval:number)
|
||||||
task(itemsSelector:string, fieldSelectors:string, url:string, pages:number[])
|
task(itemsSelector:string, fieldSelectors:string, url:string, pages:number[])
|
||||||
task(itemsSelector:string, fieldSelectors:string[], urls:string[])
|
task(itemsSelector:string, fieldSelectors:string[], urls:string[])
|
||||||
task(itemsSelector:string, fieldSelectors:string[], urls:ExractResult)
|
task(itemsSelector:string, fieldSelectors:string[], urls:ExtractResult)
|
||||||
|
|
||||||
See detail help in:
|
See detail help in:
|
||||||
https://git.jebbs.co/jebbs/data-extracter-extesion
|
https://git.jebbs.co/jebbs/data-extracter-extesion
|
||||||
@ -70,7 +70,7 @@ function testArgs(...args) {
|
|||||||
args[2] instanceof Array &&
|
args[2] instanceof Array &&
|
||||||
testArrayVals(args[2], v => typeof v == "string")
|
testArrayVals(args[2], v => typeof v == "string")
|
||||||
) || (
|
) || (
|
||||||
args[2] instanceof ExractResult
|
args[2] instanceof ExtractResult
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
case 4:
|
case 4:
|
||||||
|
|||||||
Reference in New Issue
Block a user