当前位置: 首页 > 面试题库 >

TypeError:driver.isElementPresent不是一个函数

艾灿
2023-03-14
问题内容

我试图编写登录到网站的节点功能,但无法使其正常工作。我试图等待页面使用加载isElementPresent功能

这是我到目前为止的内容:

const webdriver = require('selenium-webdriver')
const By = webdriver.By

var username = ''
var password = ''
var timeout = 5000

function FacebookLogin(username, password) {

    var driver = new webdriver.Builder()
        .withCapabilities(webdriver.Capabilities.chrome())
        .build()

    driver.get('http://www.facebook.com')

    driver.wait(function() {
        return driver.isElementPresent(By.id('email'))
    }, timeout)

    var user = driver.findElement(By.id('email'))
    user.sendKeys(username)

    var pass = driver.findElement(By.id('pass'))
    pass.sendKeys(password)

    pass.submit()
    driver.sleep(5000)
    driver.quit()
}

FacebookLogin(username, password)

当我运行该函数时,我收到错误消息TypeError: driver.isElementPresent is not a function。这是怎么回事,我想念什么?


问题答案:

为了与其他硒语言绑定的一致性,
WebDriver#isElementPresent()WebElement#isElementPresent()已被弃用。

如果您使用Selenium 3,则应尝试使用findElements代替来确定元素是否存在,如下所示:

driver.findElements(By.id('email')).then(found => !!found.length);

或者,如果您要等到欲望元素出现,则应尝试使用webdriver.until以下方法:

const until = webdriver.until;

var user = driver.wait(until.elementLocated(By.id('email')), timeout);
user.sendKeys(username);


 类似资料:
  • 我试图使用rxjs输入自动完成的目的,但我一直得到这些错误TypeError:terms.debounce时间不是一个函数,即使我设置这些导入'rxjs/操作员/DebounceTime'; 我称之为的函数是:

  • 在Angular2中尝试一个代码,它的HTML正在运行,但Angular代码没有执行,它表示我从HTML传递的值不是函数。请帮忙! HTML:app.html - 我正在尝试显示学生的详细信息。我在angular app.component.ts文件中有一个项目列表,我在HTML页面上调用它,工作正常。但是当我将单击事件的值传递给 app.component.ts 时,它会给出错误并在控制台上显示

  • 问题内容: 我试图要求一个文件,然后将其传递给var。我正在按照本教程创建身份验证系统。编写server.js文件并尝试编译后,出现bson错误,因此我更改了需要它的发行版本的猫鼬代码。 这是我的代码和错误: server.js 错误 我已经读到这通常意味着requireJS无法正确加载,但我不知道为什么或如何修复它。 根据评论进行编辑: 根据要求,这是 问题答案: 我认为这意味着在您的模块中未将

  • 在我的项目中,我创建了一个负责登录的组件。它返回一个表单并包含一个名为的验证方法。当前该方法如下所示: 我想让整个事情看起来更好,并用两个三元运算符和一个if语句切换了3个if语句: 但是,只要我尝试此操作,就会出现以下错误: TypeError:e.preventDefault(…)不是函数 我不知道在这里使用三元是如何影响事件对象的。特别是因为我在寄存器组件中以类似的方式完成了它,并且没有发生

  • 我试图在代码中使用以下服务: 问题是,在运行时,它会抱怨: 我已经定义res的数据类型为响应,但仍然抱怨 如果我用订阅替换地图,它工作正常:

  • 嗨,伙计们,我和Nuxt一起工作 我在服务器上以blob的形式保存了图像,我想在客户端上显示它 我的组件如下所示: 但是我一直得到以下错误: 网址。createObjectURL不是一个函数 有人知道问题出在哪里吗?