我的代碼中的顯式等待在SafariDriver 2.48.0中不起作用。它在windows和MAC中使用chrome。到達等待時,它的驅動程序引發異常Selenium顯式等待不工作在新的safariDriver 2.48.0
文件「/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/support/wait.py」第71行,直到 value = method(self._driver) 文件「/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/support/expected_conditions.py」 ,line 78,in call return _element_if_visible(_find_element(driver,self.locator)) File「/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver /support/expected_conditions.py「,第98行,在_element_if_visible中 return element if element.is_displayed()== visibility else False File「/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py」 ,第358行,在is_displayed return self._execute(Command.IS_ELEMENT_DISPLAYED)['value'] File「/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver /remote/webelement.py「,第494行,在_execute中 return self._parent.execute(command,params) File」/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages /selenium/webdriver/remote/webdriver.py「,第236行,執行 self.error_handler.check_response(響應) 文件」/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-包/硒/ webdri版本/遠程/ errorhandler.py」,線路163,在check_response 加註exception_class(值)
我的代碼是:
self.driver = webdriver.Safari()
self.driver.wait = WebDriverWait(self.driver, 60)
self.driver.get("http://example.com")
# Click Sign in button and wait for sign in page
self.driver.find_element_by_xpath(XMLDict['SignIn'].Xpath).click()
self.driver.wait.until(EC.visibility_of_element_located((By.ID, XMLDict['User'].ID)))
self.driver.maximize_window()
配置:
OS - macOS Sierra
Selenium 3.0.1
Safari - 10.0.1
SafariDriver - 2.48.0
Python 3.5