|
|
@@ -28,23 +28,24 @@ const path = require("path");
|
|
|
const firefox = require("selenium-webdriver/firefox");
|
|
|
const { Builder, By, Key } = require("selenium-webdriver");
|
|
|
|
|
|
-let driver;
|
|
|
-
|
|
|
exports.initialize = async () => { };
|
|
|
|
|
|
exports.getPageData = async options => {
|
|
|
- const builder = new Builder().withCapabilities({ "pageLoadStrategy": "none" });
|
|
|
- builder.setFirefoxOptions(getBrowserOptions(options));
|
|
|
- driver = builder.forBrowser("firefox").build();
|
|
|
- return await getPageData(driver, options);
|
|
|
-};
|
|
|
-
|
|
|
-exports.closeBrowser = () => {
|
|
|
- if (driver) {
|
|
|
- return driver.quit();
|
|
|
+ let driver;
|
|
|
+ try {
|
|
|
+ const builder = new Builder().withCapabilities({ "pageLoadStrategy": "none" });
|
|
|
+ builder.setFirefoxOptions(getBrowserOptions(options));
|
|
|
+ driver = builder.forBrowser("firefox").build();
|
|
|
+ return await getPageData(driver, options);
|
|
|
+ } finally {
|
|
|
+ if (driver) {
|
|
|
+ driver.quit();
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+exports.closeBrowser = () => { };
|
|
|
+
|
|
|
function getBrowserOptions(options) {
|
|
|
const firefoxOptions = new firefox.Options();
|
|
|
if ((options.browserHeadless === undefined || options.browserHeadless) && !options.browserDebug) {
|