Selenium“元素单击在点(52,346)处不可单击。其他元素将通过使用” nodejs获得单击

时间:2019-10-03 11:17:15

标签: node.js selenium

在解决了等待和点击问题之后,我遇到了这个问题:

UnhandledPromiseRejectionWarning: "ElementClickInterceptedError: element click intercepted-bar-item icon-transfer">...</button> is not clickable at point (52, 346). Other element would receive the click: <div class="ut-".

我们如何“隐式”单击并忽略此类消息?

等待点击的代码如下:

  await driver.wait(until.elementLocated(By.xpath("//button[text()='Transfers']")),15000);
  let btn= driver.findElement(By.xpath("//button[text()='Transfers']"));
  await driver.wait(until.elementIsEnabled(btn,15000));
  await driver.findElement(By.xpath("//button[text()='Transfers']")).click();

code inspect screenshot

2 个答案:

答案 0 :(得分:1)

使用下面的行代码/元素抛出错误

var element = driver.findElement(By.xpath("//button[text()='Transfers']"));
browser.executeScript("arguments[0].click();", element );

selenium的javascript执行者将使用javascript单击元素

内部使用硒量角器

答案 1 :(得分:0)

尝试将await driver.findElement(By.xpath("//button[text()='Transfers']")).click();结尾处的这一行替换为:

await driver.executeScript("arguments[0].click();", btn);