如果找不到,该怎么办... Selenium node.js

时间:2018-07-05 20:20:00

标签: node.js selenium webdriver

这可能是一个愚蠢的问题,但是如果没有找到我,我该怎么办呢?我知道我必须使用!==,但是我不知道该如何处理...这是代码:

 if (driver.findElement(By.xpath("//*[contains(@name, 'Discord')]"))) {
    fs.writeFile("NOTTHIS.txt", '${String(await driver.findElement(By.xpath("//*[contains(@name, 'Discord')]")))}', err => {
      if (err) throw err;
    })
    console.log("Aucun email detecté.")
    return;
  } else

1 个答案:

答案 0 :(得分:1)

您可以使用

driver.findElements(By.xpath("//*[contains(@name, 'Discord')]"

它将为您提供包含元素的列表。如果列表长度为0,则找不到任何元素。这样,您将不会获得任何异常

if (driver.findElements(By.xpath("//*[contains(@name, 'Discord')]")).length !== 0) {
        fs.writeFile("NOTTHIS.txt", '${String(await driver.findElement(By.xpath("//*[contains(@name, 'Discord')]")))}', err => {
          if (err) throw err;
        })
        console.log("Aucun email detecté.")
        return;
      } else