Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium Thread.sleep以等待窗口打开_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium Thread.sleep以等待窗口打开

Selenium Thread.sleep以等待窗口打开,selenium,selenium-webdriver,Selenium,Selenium Webdriver,在进行窗口切换之前,我一直在使用Thread.sleep。 我不喜欢这种方法,但发现它是唯一有效的选择。 我所做的尝试是执行一个循环,基本上运行几秒钟,然后执行driver.switchTo.switch(窗口)以避免Thread.sleep。但是,这不允许我进行切换。只有睡眠能帮我。 我想知道为什么会这样。任何输入。谢谢。它到底出了什么问题 您可以使用WebDriverWait类,它基本上是一个不断尝试评估条件的包装器,并且在后台使用Thread.Sleep() Thread.Sleep()就

在进行窗口切换之前,我一直在使用Thread.sleep。 我不喜欢这种方法,但发现它是唯一有效的选择。 我所做的尝试是执行一个循环,基本上运行几秒钟,然后执行driver.switchTo.switch(窗口)以避免Thread.sleep。但是,这不允许我进行切换。只有睡眠能帮我。
我想知道为什么会这样。任何输入。谢谢。

它到底出了什么问题

您可以使用WebDriverWait类,它基本上是一个不断尝试评估条件的包装器,并且在后台使用Thread.Sleep()


Thread.Sleep()就可以了。

让我这样说吧。切换的一种方法是)切换(窗口),Thread.sleep(1000),然后访问新窗口中的元素。第二种方法,我认为是:a)切换(窗口),执行一个运行1000毫秒的循环,然后访问新窗口中的元素。我不明白为什么第二种方法不起作用!从理论上讲,两者应该产生相同的结果,对吗?我当然知道我们有webdriverwait和隐式等待等,但这不是我的问题。谢谢