Button.click()冻结(没有超时)

时间:2015-07-30 14:12:36

标签: python selenium selenium-webdriver click freeze

我是硒的新人,我在一个网页上工作。问题是,有时会出现这样的情况:button.click()冻结并且不会引发任何异常,但也不会继续,只是冻结并且没有任何反应。

你知道如何避免这种情况吗?或者如果需要超过x秒,如何设置一些timeout来提升exception

另一种解决方案是衡量执行时间,但我不确定这是不是一种矫枉过正而且不知道该怎么做。

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

1 个答案:

答案 0 :(得分:1)

很可能找不到元素,脚本会不断寻找元素。您可以设置几种不同类型的超时:隐式和显式

明确等待将等待"预期条件"。您可以在SeleniumHQ了解更多信息。

您还可以设置一个隐式等待,它会在抛出异常之前等待一段时间,再次您可以在SeleniumHQ上阅读更多内容。