javascript - Driver.quit() 不会关闭浏览器

标签 javascript selenium-webdriver firefox webdriver

代码如下:

var number = 0;

function twentySeconds() {
    if (number <= 1) {
        loop();
        number++;
        console.log('Try number: ' + number);
    }
};

if (number > 2) {
    clearInterval(twentySeconds)
    console.log('Closing program!')
    driver.quit()
    return;

}

setInterval(twentySeconds, 20000);

因此,我正在创建一个 Firefox 实例,然后使用它多次搜索某个网站。尝试多次后,程序应停止(在本例中,在第三次尝试后,程序应停止)。 问题是最后(当第三次检查结束时) driver.quit() 将关闭浏览器并结束代码的执行。相反,它只是卡住,而没有关闭浏览器并结束程序。

问题是由什么引起的?我需要为每次搜索打开一个选项卡吗?

有关代码的完整 View ,请访问https://github.com/PrinceMatthew/bitcoinProjects/blob/master/improved_address_verifier.js

最佳答案

if正文中的代码语句(twentySeconds 函数之外的语句)永远不会被执行,因为 number总是0当评估条件 ( number > 2 ) 时。您应该将该 if 语句移至 twentySeconds 内功能。

除此之外,clearInterval(twentySeconds)不起作用,因为 twentySeconds是一个函数,第一个参数为 clearInterval应该是间隔的 ID( setInterval(..) 返回的值)。

试试这个:

var number = 0;
var intervalId = setInterval(twentySeconds, 20000);

function twentySeconds() {
  if (number <= 1) {
    loop();
    number++;
    console.log('Try number: ' + number);
  }
  if (number > 2) {
    clearInterval(intervalId)
    console.log('Closing program!')
    driver.quit();
  }
}

关于javascript - Driver.quit() 不会关闭浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59913120/

相关文章:

javascript - Scrollspy jquery 不适用于 Firefox、Opera

javascript - 如何在单击而不是悬停时扩展导航栏?

javascript - dc js - 使用 dc js 的直方图

javascript - 在成功的 ajax 上,使用预选的选项值从另一个表中创建一个下拉选择

java - 无法切换回默认框架

html - 掩码属性在 Firefox 中不起作用

javascript - 如何从 $.getJSON() 调用访问自定义 JS 对象?

selenium - HtmlUnit 的稳定性和速度如何

java - NoSuchMethodError : com. google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V

javascript - 使用 nsIFileInputStream 和 nsIConverterInputStream 时加载的数据被 chop