我在mac中使用硒与Python并面临在Safari浏览器中运行测试用例的问题。
命令sudo easy_install selenium
在终端中输出以下内容:
寻找硒 最佳搭配:硒3.5.0 加工硒-3.5.0-py2.7.egg selenium 3.5.0已经是easy-install.pth中的活动版本
使用/Library/Python/2.7/site-packages/selenium-3.5.0-py2.7.egg 处理硒的依赖性 完成了对selenium的处理依赖性
现在,当我想运行一个简单的Python脚本来打开一个网站时,我使用这个代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Safari()
driver.get("https://www.google.co.in")
它在终端显示此错误:
追踪(最近一次通话): 文件“a.py”,第5行,in driver = webdriver.Safari() 在 init 中输入文件“/Library/Python/2.7/site-packages/selenium-3.5.0-py2.7.egg/selenium/webdriver/safari/webdriver.py”,第52行 desired_capabilities = desired_capabilities) 在 init 中输入文件“/Library/Python/2.7/site-packages/selenium-3.5.0-py2.7.egg/selenium/webdriver/remote/webdriver.py”,第140行 self.start_session(desired_capabilities,browser_profile) 在start_session中输入文件“/Library/Python/2.7/site-packages/selenium-3.5.0-py2.7.egg/selenium/webdriver/remote/webdriver.py”,第229行 response = self.execute(Command.NEW_SESSION,参数) 文件“/Library/Python/2.7/site-packages/selenium-3.5.0-py2.7.egg/selenium/webdriver/remote/webdriver.py”,第297行,执行 self.error_handler.check_response(响应) 在check_response中输入文件“/Library/Python/2.7/site-packages/selenium-3.5.0-py2.7.egg/selenium/webdriver/remote/errorhandler.py”,第194行 提出exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException:消息:无法创建会话:您必须在Safari的“开发”菜单中启用“允许远程自动化”选项,以通过WebDriver控制Safari
我无法找到确切的问题。
请提前帮助和谢谢。
答案 0 :(得分:1)
打开Safari并在“开发”菜单中选中Allow Remote Execution
并在终端中运行safaridriver -p 5555
一次,如果它要求允许权限,则给予它。这只需要一次。有关详细信息,请参阅以下文章
https://webkit.org/blog/6900/webdriver-support-in-safari-10/