gpt4 book ai didi

selenium - Wait.Until(预期条件)有时会失败 Selenium c#

转载 作者:行者123 更新时间:2023-12-02 04:46:47 30 4
gpt4 key购买 nike

我知道 Thread.Sleep() 可能不是等待元素显示、可点击等的最可靠方式...因此,我一直在使用 Wait.Until(Expected.Conditions) 方法告诉 selenium webdriver 等待元素满足所需条件。

似乎问题是,Selenium 有时会因等待元素显示、可点击等时间而失败...即使 webDriverWait 设置为等待例如 15 秒,Selenium 仍会快速失败,因此我没有收到任何错误,我的测试通过了代码,但实际元素被点击得太早以至于无法响应点击。是否有任何 100% 可靠的方法来等待元素可点击而不会出错?

代码:

 //This is how I instantiate WebDriverWait
public static readonly WebDriverWait Wait = new WebDriverWait(Program.Driver, TimeSpan.FromSeconds(15));

//This is an example how I get and click on specific HTML element
Wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//img[contains(@src, 'logo')]"))).Click();

如有任何建议,我们将不胜感激!

最佳答案

你可以使用这个函数然后等待并找到元素....这对我来说总是有效

public static void scrollToElement(final WebDriver webDriver, final Point location)
{
System.out.println("Scrolling to :" +location.x +"," +location.y);
final String sScript = "javascript:window.scrollBy("+location.x+","+location.y+")";
final JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript(sScript);
}

关于selenium - Wait.Until(预期条件)有时会失败 Selenium c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32221076/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com