Python 3.x 等待safari Webdriver、MacOS Sierra上的元素可点击失败

Python 3.x 等待safari Webdriver、MacOS Sierra上的元素可点击失败,python-3.x,webdriver,macos-sierra,safari10,Python 3.x,Webdriver,Macos Sierra,Safari10,当我的测试脚本执行下面的命令时,我总是从MacOS Sierra上的Safari Web驱动程序获得404响应状态(完整源代码见附件): 复制步骤: 1.更新MacOS Sierra和Safari 10 2.安装Python3.6 3.安装Python绑定:pip3.6安装-U selenium 4.运行附加的测试脚本:python3.6 test.py 预期成果: 测试脚本应该通过 实际结果: 它总是失败,我写了一些日志,它显示: driver_command: isElementDispla

当我的测试脚本执行下面的命令时,我总是从MacOS Sierra上的Safari Web驱动程序获得404响应状态(完整源代码见附件):

复制步骤: 1.更新MacOS Sierra和Safari 10 2.安装Python3.6 3.安装Python绑定:pip3.6安装-U selenium 4.运行附加的测试脚本:python3.6 test.py

预期成果: 测试脚本应该通过

实际结果: 它总是失败,我写了一些日志,它显示:

driver_command: isElementDisplayed
params {'id': 'node-64681E7D-D268-429A-9C6F-9908A5D09250', 'sessionId': '7FE8FE61-805E-4B68-9EF5-2C7EA934A382'}
ERROR {'status': 404, 'value': ''}
版本: MacOS Sierra,Python 3.6

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import time

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Safari(1234, '/usr/bin/safaridriver')

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, "q")))
        # elem = WebDriverWait(self.driver, 1).until(EC.element_to_be_clickable((By.NAME, "q")))
        # elem = driver.find_element_by_name("q")
        elem.send_keys("pycon")
        elemSubmit = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "submit")))
        elemSubmit.click()
        assert "No results found." not in driver.page_source
        time.sleep(3)

    # def tearDown(self):
    #     self.driver.close()

if __name__ == "__main__":
    unittest.main()

我上传了完整的代码,请帮我把它分解\n wait=WebDriverWait(driver,20)\n elemSubmit=wait.until(EC.element可点击(By.ID,“提交”))
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import time

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Safari(1234, '/usr/bin/safaridriver')

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, "q")))
        # elem = WebDriverWait(self.driver, 1).until(EC.element_to_be_clickable((By.NAME, "q")))
        # elem = driver.find_element_by_name("q")
        elem.send_keys("pycon")
        elemSubmit = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "submit")))
        elemSubmit.click()
        assert "No results found." not in driver.page_source
        time.sleep(3)

    # def tearDown(self):
    #     self.driver.close()

if __name__ == "__main__":
    unittest.main()