[英]Selenium - Python Safari WebDriver - not finding element by xpath
[英]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.