javascript / selenium webdriver:无限完成后同步调用函数

时间:2018-06-15 06:12:32

标签: javascript node.js selenium-webdriver async-await

我正在使用selenium webdriver在Node中创建一个程序。它应该做的是:



async function selenium() {
  try {
    await driver.findElement(By.xpath("xpath")).getText().then((value) => {
      recieved = value;
    });
    switch (recieved) {
      case "string1":
        await driver.wait(until.elementLocated(By.xpath("xpath"))).click().then(() => {}) break;
      case "p4":
        a = driver.findElement(By.className("xpath"));
        await exec("script1.exe", function(err) {
          if (err) {} else {}
        });
        break;
      case "p3":
        await exec("script2.exe", function(err) {
          if (err) {} else {}
        }) await driver.wait(until.elementLocated(By.xpath("xpath"))).click().then(() => {});
        break;
      case "p2":
        await exec("script3.exe", function(err) {
          if (err) {} else {}
        });
        await driver.wait(until.elementLocated(By.xpath("xpath"))).click().then(() => {});
        break;
      case "p1":
        await exec("script4.exe", function(err) {
          if (err) {
            console.log(err);
          } else {
            console.log("s5");
          }
        });
        break;
      default:
        selenium();
    }
  } catch (err) {
    if (err) {
      console.log(err);
    }
  }
}




我想要做的是,程序应该按照指定的第一次运行,然后整个selenium函数应该像第一次一样重复。我能做些什么来实现这个目标?

0 个答案:

没有答案