SafariDriver 2.48.0でコード内の明示的な待機が機能していません。それは窓とMACのクロムで働いています。待ち時間に達したときには、運転手投げ例外Selenium explicitが新しい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" 、行78、 return _element_if_visible(_find_element(driver、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(応答) ファイル" /Library/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