如何使用 Selenium webdriver javascript 单击一个元素?
How to click an element with Selenium webdriver javascript?
我正在测试,我必须点击元素,但有时会点击,有时不会。我尝试了一些解决方案,但没有一个总是点击。
是否有任何解决方案可以单击始终有效的元素?
我试过这些代码:
1:
await driver.findElement(By.id("u_0_a")).click();
2:
var element = await driver.findElement(By.id("u_0_a"));
await element.click();
3:
await driver.executeScript("document.getElementById('u_0_a').click()");
我将 selenium 与 node.js、javascript、chrome 驱动程序一起使用。
尝试使用:
var element = await driver.findElement(By.id("u_0_a"));
await driver.executeScript("arguments[0].click();", element)
希望对您有所帮助!
尝试使用 TryUntil
。我希望这有效。下面的代码是在 C#
Browser.TryUntil(() => { }, () => Browser.FindElement(By.id("u_0_a")).Exists(), TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(120));
Browser.FindElement(By.id("u_0_a")).Click();
感谢您的帮助。问题不在我的代码中。问题出在 https://www.facebook.com/ 上。
因为 facebook 正在更改 ID,有时它是登录按钮有时是性别自定义按钮。 :/
请在处理点击操作之前尝试休眠。
示例如下:
await driver.sleep(2000)
await driver.findElement(By.xpath('element path')).click()
我正在测试,我必须点击元素,但有时会点击,有时不会。我尝试了一些解决方案,但没有一个总是点击。 是否有任何解决方案可以单击始终有效的元素?
我试过这些代码:
1:
await driver.findElement(By.id("u_0_a")).click();
2:
var element = await driver.findElement(By.id("u_0_a"));
await element.click();
3:
await driver.executeScript("document.getElementById('u_0_a').click()");
我将 selenium 与 node.js、javascript、chrome 驱动程序一起使用。
尝试使用:
var element = await driver.findElement(By.id("u_0_a"));
await driver.executeScript("arguments[0].click();", element)
希望对您有所帮助!
尝试使用 TryUntil
。我希望这有效。下面的代码是在 C#
Browser.TryUntil(() => { }, () => Browser.FindElement(By.id("u_0_a")).Exists(), TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(120));
Browser.FindElement(By.id("u_0_a")).Click();
感谢您的帮助。问题不在我的代码中。问题出在 https://www.facebook.com/ 上。 因为 facebook 正在更改 ID,有时它是登录按钮有时是性别自定义按钮。 :/
请在处理点击操作之前尝试休眠。 示例如下:
await driver.sleep(2000)
await driver.findElement(By.xpath('element path')).click()