Python 按钮。单击()冻结(无超时)

Python 按钮。单击()冻结(无超时),python,selenium,selenium-webdriver,click,freeze,Python,Selenium,Selenium Webdriver,Click,Freeze,我是selenium的新手,我正在一个网页上工作。问题是,有时会出现这样一种情况:button.click()冻结,不会引发异常,但也不会继续,只是冻结,什么也不会发生 你知道怎么避免吗?或者,如果超时时间超过x秒,如何设置一些超时来引发异常 另一个解决方案是测量执行时间,但我不确定这是否是一个过度,也不知道该怎么办 button = self.driver.find_element_by_css_selector('li.arr-rgt.active a') log('NEXT LINE: b

我是selenium的新手,我正在一个网页上工作。问题是,有时会出现这样一种情况:button.click()冻结,不会引发异常,但也不会继续,只是冻结,什么也不会发生

你知道怎么避免吗?或者,如果超时时间超过x秒,如何设置一些
超时
来引发
异常

另一个解决方案是测量执行时间,但我不确定这是否是一个过度,也不知道该怎么办

button = self.driver.find_element_by_css_selector('li.arr-rgt.active a')
log('NEXT LINE: button.click()') # I CAN SEE THIS IN THE LOG FILE (line at the bottom)
button.click()
log('BUTTON CLICKED') # I DONT SEE THIS IN THE LOG FILE

很可能找不到该元素,脚本正在持续查找该元素。您可以设置几种不同类型的超时:隐式和显式

显式等待将等待“预期条件”。你可以在网站上阅读更多关于这方面的内容


您还可以设置隐式等待,它将在引发异常之前等待给定的时间,同样,您可以在SeleniumHQ上阅读更多信息。

您使用哪种浏览器?它在chrome和firefox中都可以复制吗?还有,什么硒版本?@alecxe我使用PhantomJS。问题是,我无法确定它是否是可复制的,因为这种情况是随机发生的,而且非常罕见(可能一小时内发生一次)。我会检查selenium版本并让你知道,但它应该是最新的。哦,是的,幻影的奇妙世界,我记得。要尝试一件事:
self.driver。执行脚本(“参数[0]。单击()”,按钮)
而不是
按钮。单击()
。好的,我会尝试。是否可以为click()方法设置超时之类的设置?内置或不内置。