如何在Mac机上的Safari浏览器上运行selenium脚本

时间:2014-08-01 10:35:23

标签: java safari selenium-webdriver

我有一个selenium代码,它在Windows 7 for Safari Browser上成功运行,但是当我在Safari浏览器的MAc Machine中运行类似的代码时。

但我收到了错误。它正在打开新的Safari浏览器,但没有打到URL。 我的代码是:=

WebDriver driver = new SafariDriver();
driver.get("http://www.google.com"); 

我也经历了官方网站,但这也无效。

我得到的错误是:-thception in thread" main" org.openqa.selenium.remote.UnreachableBrowserException: Failed to connect to SafariDriver after 45092 ms

3 个答案:

答案 0 :(得分:1)

这是一个已知的错误。

这是错误detail

答案 1 :(得分:0)

在MAC-System上,在Safari浏览器中,默认情况下将安装-safari webdriver。要使selenium脚本在safari浏览器上运行,您必须在浏览器中进行以下设置:

提供Selenium Webdriver Extension的默认设置:

  1. 点击“Safari”> “偏好”> “扩展”>你会发现Selenium扩展
  2. 选择“启用Webdriver”
  3. Safari Webdriver setup():

     account_str = str(account)  # Save the converted account string
    
     if stage == 'CAC':
        if fund == 'ELP':
            logNotes(account_str + ' --- ' + ' ELP CAC Config Selected')
            fileTypes = ['ConsumerAgreement', 'HCOCAC', 'HCODAC']
        elif fund == 'KW':
            logNotes(account_str + ' --- ' + ' KW CAC Config Selected')
            fileTypes = ['ConsumerAgreement', 'CAC', 'HCOCAC', 'HCODAC']
    elif stage == 'IC':
        logNotes(account_str + ' --- ' + ' General IC Config Selected')
        fileTypes = ['BuildingPlans', 'SystemPhotos', 'InstallationCompletionCertificate', 'HCOIC']
    elif stage == 'FA':
        if fund == 'Investec':
            logNotes(account_str + ' --- ' + ' Investec Config Selected')
            fileTypes = ['BOS', 'ConsumerAgreement', 'ConditionalWaiverIC','Conditional WaiverFA']
            fund = 'KW'
        else:
            logNotes(account_str + ' --- ' + ' General FA Config Selected')
            fileTypes = ['FinalAcceptanceCertificate', 'PTO']
    

    现在所有设置都已完成,现在我们应该能够使用Safari浏览器启动我们的Selenium脚本

答案 2 :(得分:0)

旧的SafariDriver实现不再保留,不应该使用。您无需下载Safari 10即可下载Apple开发的驱动程序。本文介绍了所有https://webkit.org/blog/6900/webdriver-support-in-safari-10/