繁体   English   中英

python selenium 网络驱动程序 safari 驱动程序

[英]python selenium webdriver safari driver

快速提问,我一直在构建一个 python selenium 框架来测试我们的网站。 我已经成功实现了 Firefox、Chrome 和 IE 进行浏览器测试。 但是一直在寻找Safari驱动。 我知道在官方文档中它简要描述了它的不兼容性并且不支持 Safari。 你们会建议我用 python 和 selenium 来测试 Safari 功能。 是否可以使用 python?

我已经搜索和搜索,似乎找不到任何相关的 Safari 驱动程序。

提前致谢,

本地SafariDriver的绑定尚未实现。 如果您想要此功能,请在 Selenium 的错误跟踪器中添加以下问题:

看看这篇博文 它是针对 Java 的,但是 Python 的过程应该大致相同。

我自己没有使用过它,但是有一个Safari 驱动程序可以作为浏览器扩展实现,它将 javascript 注入每个页面。

它有一些限制,例如无法处理警报,但希望它有所帮助。

Safari 驱动程序是 Safari 扩展程序,您可以在 seleniumhq.org 网站的下载部分找到一个链接。 http://docs.seleniumhq.org/download/

您还可以查看 Github 的源代码并构建它。

Safari 的 Python Selenium 绑定并未真正实现,但使用 Z93F725A07423FE1C88ZF 实现。 因此,您需要 Selenium-standalone-Server jar 文件。 它必须在运行脚本的机器上的 PATH 中。

Python 支持运行 Safari 测试,您可以在此博客上找到python 示例

另一个示例如何在 selenium 网格上调用 Safari 测试,请注意 selenium 网格和节点应该正在运行。

# -*- coding: utf-8 -*-
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class PythonOrgSearch(unittest.TestCase):

def setUp(self):
    self.driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',desired_capabilities={'browserName':'safari','version':'safariversion','platform':'MAC'})

def test_search_in_python_org(self):
    driver = self.driver
    driver.get("http://www.python.org")
    self.assertIn("Python", driver.title)
    driver.maximize_window()
    elem = driver.find_element_by_name("q")
    elem.send_keys("pycon")
    elem.send_keys(Keys.RETURN)
    assert "No results found." not in driver.page_source


def tearDown(self):
    self.driver.quit()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM