用python设置selenium用于mac中的safari浏览器

时间:2017-09-01 18:23:04

标签: python macos selenium

我在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

我无法找到确切的问题。

请提前帮助和谢谢。

1 个答案:

答案 0 :(得分:1)

打开Safari并在“开发”菜单中选中Allow Remote Execution

的选项

Enable Remote Automation

并在终端中运行safaridriver -p 5555一次,如果它要求允许权限,则给予它。这只需要一次。有关详细信息,请参阅以下文章

https://webkit.org/blog/6900/webdriver-support-in-safari-10/