首页 > 解决方案 > Selenium 等待并点击使用 nodejs

问题描述

我正在尝试登录国际足联终极球队...但我不知道为什么如果我尝试使用等待点击操作没有任何效果...基本上我的网址是https://www.easports.com/fifa /ultimate-team/web-app/ 我需要点击的按钮是 Login 知道吗?

require('chromedriver');
const webdriver = require('selenium-webdriver');

var until = webdriver.until;
var By = webdriver.By;

async function myMain(){

    let driver = new webdriver.Builder().forBrowser('chrome').build();
    await driver.get('https://www.easports.com/fifa/ultimate-team/web-app/');
    await driver.wait(until.elementLocated(By.className('btn-standard call-to-action')), 15000);
    await driver.findElement(By.className('btn-standard call-to-action')).click();
}

myMain();

标签: node.jsselenium

解决方案


您的选择器可能不太正确。尝试这个:

  await driver.wait(until.elementLocated(By.xpath("//button[text()='Login']")),15000);
  let loginButton = driver.findElement(By.xpath("//button[text()='Login']"));

  await driver.wait(until.elementIsEnabled(loginButton ,15000));

  await driver.findElement(By.xpath("//button[text()='Login']")).click();

推荐阅读