我正在测试,必须单击元素,但是有时单击,有时没有。我尝试了一些解决方案,但是没有一个总是点击。 有什么解决方案可以单击元素,该元素始终有效?
我尝试了以下代码:
1:
array = [1, 2, 3]
for i in array:
df = df.filter(df["column"] != i)
2:
await driver.findElement(By.id("u_0_a")).click();
3:
var element = await driver.findElement(By.id("u_0_a"));
await element.click();
我将硒与node.js,javascript,chrome驱动程序配合使用。
答案 0 :(得分:1)
尝试使用:
var element = await driver.findElement(By.id("u_0_a"));
await driver.executeScript("arguments[0].click();", element)
希望这会有所帮助!
答案 1 :(得分:0)
尝试使用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();
答案 2 :(得分:0)
感谢您的帮助。问题不在我的代码中。问题出在https://www.facebook.com/上。 因为facebook正在更改ID,有时是登录按钮,有时是性别自定义按钮。 :/
答案 3 :(得分:0)
在处理单击操作之前,请尝试睡眠。 示例如下:
await driver.sleep(2000)
await driver.findElement(By.xpath('element path')).click()