내 코드의 명시 적 대기가 SafariDriver 2.48.0에서 작동하지 않습니다. Windows 및 Mac에서 Chrome에서 작동합니다. 대기에 도달 할 때 드라이버 던지는 예외새 safariDriver에서 셀레늄 명시 적 대기가 작동하지 않습니다. 2.48.0
파일 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/support/wait.py"입니다, line 71, in value = method (self._driver) 파일 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/support/expected_conditions.py" , 전화 반환 _element_if_visible 라인 (78), (_find_element (드라이버, self.locator)) 파일 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver /support/expected_conditions.py ", 줄 98, _element_if_visible에서 element.is_displayed() == 가시성이면 else 반환 False 파일 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py" , line 358 in is_displayed return self._execute ('Command'.IS_ELEMENT_DISPLAYED) [ 'value'] 파일 "/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) 파일"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages /selenium/webdriver/remote/webdriver.py ", 행 236, 실행 self.error_handler.check_response (응답) 파일"/ 라이브러리 /Frameworks/Python.framework/Versions/3.5/lib/python3.5/site- 패키지/셀레늄/webdri 버전 check_response 인상 exception_class에/원격/errorhandler.py "라인 (163) (값)
내 코드는 :
는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