如何使用 Selenium Safari Webdriver

2024-04-10

我正在尝试使用 Safari WebDriver,并且按照说明进行操作here https://code.google.com/p/selenium/wiki/SafariDriverInternals构建 Safari 驱动程序,但现在我不知道如何导入它并在我的代码中使用它。

我在 Mac OSX 上使用 python


使用Python 2.7.5和python模块selenium (2.41.0)。

此示例打开 Safari 浏览器并执行我的命令:

# -*- coding: utf-8 -*-

print '''
Python Selenium Safari Example
'''

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os

# path to selenium server standalone jar, downloaded here:
# http://docs.seleniumhq.org/download/
# or a direct url:
# http://selenium-release.storage.googleapis.com/2.41/selenium-server-standalone-2.41.0.jar
os.environ["SELENIUM_SERVER_JAR"] = "selenium-server-standalone-2.41.0.jar"
# note: I've put this jar file in the same folder as this python file

browser = webdriver.Safari()

# makes the browser wait if it can't find an element
browser.implicitly_wait(10)

browser.get("http://google.com/")

search_input = browser.find_element_by_css_selector("#gbqfq")
search_input.send_keys("python SELENIUM_SERVER_JAR turn logging off")
search_input.send_keys(Keys.RETURN)

raw_input("Press Enter to close...")

browser.quit()

但当我运行它时,终端中会显示以下内容:

$ python selenium_safari_example.py

Python Selenium Safari Example

May 27, 2014 4:24:17 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
16:24:17.918 INFO - Java: Apple Inc. 20.65-b04-462
16:24:17.918 INFO - OS: Mac OS X 10.7.5 x86_64
16:24:17.975 INFO - v2.41.0, with Core v2.41.0. Built from revision 3192d8a
16:24:18.418 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration     capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not     match with current platform: MAC
16:24:18.597 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:61893/wd/hub
16:24:18.598 INFO - Version Jetty/5.1.x
16:24:18.599 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
16:24:18.600 INFO - Started HttpContext[/selenium-server,/selenium-server]
16:24:18.600 INFO - Started HttpContext[/,/]
16:24:18.724 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@75e845c2
16:24:18.724 INFO - Started HttpContext[/wd,/wd]
16:24:18.732 INFO - Started SocketListener on 0.0.0.0:61893
16:24:18.732 INFO - Started org.openqa.jetty.jetty.Server@1ac88440
16:24:27.335 INFO - Executing: [new session: Capabilities [{platform=ANY, javascriptEnabled=true, browserName=safari,     version=}]] at URL: /session)
16:24:27.351 INFO - Creating a new session for Capabilities [{platform=ANY, javascriptEnabled=true, browserName=safari,     version=}]
16:24:27.580 INFO - Server started on port 1988
16:24:27.772 INFO - Launching Safari
16:24:27.928 INFO - Waiting for SafariDriver to connect
16:24:39.589 INFO - Connection opened
16:24:39.610 INFO - Driver connected in 11681 ms
16:24:39.813 INFO - Done: /session
16:24:39.917 INFO - Executing: [implicitly wait: 10000] at URL: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/timeouts/    implicit_wait)
16:24:39.962 INFO - Done: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/timeouts/implicit_wait
16:24:39.967 INFO - Executing: [get: http://google.com/] at URL: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/url)
16:24:47.853 INFO - Done: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/url
16:24:47.860 INFO - Executing: [find element: By.selector: #gbqfq] at URL: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/    element)
16:24:48.372 INFO - Done: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/element
16:24:48.382 INFO - Executing: [send keys: 0 [[SafariDriver: safari on MAC (null)] -> css selector: #gbqfq], [p, y, t, h, o,     n,  , S, E, L, E, N, I, U, M, _, S, E, R, V, E, R, _, J, A, R,  , t, u, r, n,  , l, o, g, g, i, n, g,  , o, f, f]] at URL: /    session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/element/0/value)
16:24:48.537 INFO - Done: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/element/0/value
Press Enter to close...
16:24:48.543 INFO - Executing: [send keys: 0 [[SafariDriver: safari on MAC (null)] -> css selector: #gbqfq], [?]] at URL: /    session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/element/0/value)
16:24:49.113 INFO - Done: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea/element/0/value
16:24:59.122 INFO - Executing: [delete session: 24ca27ce-7f06-4d16-ab8f-3d7376b01eea] at URL: /session/24ca27ce-7f06-4d16-    ab8f-3d7376b01eea)
16:24:59.123 INFO - Shutting down
16:24:59.123 INFO - Closing connection
16:24:59.124 INFO - Stopping Safari
16:24:59.333 INFO - Stopping server
16:24:59.333 INFO - Stopping server
16:24:59.382 INFO - Uninstalling extensions
16:24:59.383 INFO - Shutdown complete
16:24:59.385 INFO - Done: /session/24ca27ce-7f06-4d16-ab8f-3d7376b01eea
$

如果有人知道您是否能够通过 python 调用禁用 jar 文件的日志记录,我很想知道如何做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Selenium Safari Webdriver 的相关文章

  • python 中的并行处理

    在 python 2 7 中进行并行处理的简单代码是什么 我在网上找到的所有示例都很复杂 并且包含不必要的代码 我该如何做一个简单的强力整数分解程序 在每个核心 4 上分解 1 个整数 我真正的程序可能只需要2个核心 并且需要共享信息 我知
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 如何使用 docker-machine 中的 docker-compose 将文件从 docker 容器复制到主机

    我在 gradle 容器中为我的硒测试生成了报告 我正在尝试将文件从 docker 容器复制到本地主机 作为解决方法 我使用 docker cp 将文件从容器复制到本地 并且它有效 如何使用 docker compose Volume 来实
  • 使用 SendKeys 向 IE 11 发送“@”特殊字符

    我正在尝试使用 Internet Explorer 11 中的 SendKeys 方法将特殊字符发送到文本框 尝试在其他浏览器中发送特殊字符时我没有遇到此问题 但 Internet Explorer 在尝试发送时发送完全不同的字符特殊字符
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • xcode 4 垃圾收集已删除?

    我正在学习 Xcode 和 Objective C 但是我正在阅读的书使用的是旧版本 3 2 的 Xcode 其中一章完全致力于内存和泄漏 说我需要通过 项目设置 gt 构建 打开垃圾收集 但是 我找不到垃圾收集设置 它已被删除还是我只是错
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • Geodjango距离查询未检索到正确的结果

    我正在尝试根据地理位置的接近程度来检索一些帖子 正如您在代码中看到的 我正在使用 GeoDjango 并且代码在视图中执行 问题是距离过滤器似乎被完全忽略了 当我检查查询集上的距离时 我得到了预期距离 1m 和 18km 但 18km 的帖
  • 使用 Pandas 计算 delta 列

    我有一个数据框 如下所示 Name Variable Field A 2 3 412 A 2 9 861 A 3 5 1703 B 3 5 1731 A 4 0 2609 B 4 0 2539 A 4 6 2821 B 4 6 2779 A
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • 返回表示每组内最大值的索引的一系列数字位置

    考虑一下这个系列 np random seed 3 1415 s pd Series np random rand 100 pd MultiIndex from product list ABDCE list abcde One Two T
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • 设置 Firefox 配置文件以使用 Selenium 和 Java 自动下载文件

    我想使用 Selenium WebDriver 和 Java 验证文件下载 要下载的文件为 PDF 格式 当 WebDriver 单击 AUT 中的 下载 链接时 Firefox 将打开以下下载确认窗口 我希望 Firefox 自动下载文件
  • Elasticsearch 通过搜索返回拼音标记

    我用语音分析插件 https www elastic co guide en elasticsearch plugins current analysis phonetic html由于语音转换 从弹性搜索中进行一些字符串匹配 我的问题是
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 如何根据第一列创建新列,同时考虑Python Pandas中字母和列表的大小? [复制]

    这个问题在这里已经有答案了 我在 Python Pandas 中有 DataFrame 如下所示 col1 John Simon prd agc Ann White BeN and Ann bad list Ben Wayne 我需要这样做
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk

随机推荐

  • 在 swift 中使用 TripleDes 和 MD5

    我有一个使用 TripleDes 和 MD5 的 Java 代码算法 这是我的java代码 private String encrypt String message String secretKey throws Exception Me
  • “找不到类型的属性”组合存储库 spring-data-neo4j

    我在用着spring data neo4j我正在尝试组合存储库以便能够使用自定义存储库 我认为我已经正确遵循了中指定的命名约定20 8 7 创建存储库 http docs spring io spring data neo4j docs 3
  • “双精度数组”和 TDoubleDynArray 之间的区别

    The System Typesunit 声明一个数组类型 TDoubleDynArray array of Double 如果我将一个方法声明为 procedure func x TDoubleDynArray 我注意到这个论点x行为就像
  • 使用 php ajax mysql 创建 3 个依赖下拉列表

    我正在使用 PHP MYSQL 和 JAVASCRIPT AJAX 我有多个下拉列表 我想使用 AJAX 使其相互依赖 其中这些下拉列表包含从 MYSQL 数据库检索的数据 用户从first下拉列表并根据其选择second and thir
  • 如何从矩阵中提取行名?

    我有一个行名称为日期的矩阵 我想将这些行名称提取到一个变量中 然后使用rownames 将这些日期应用到我拥有的另一个矩阵中 假设该矩阵称为 data matrix 每当我跑步时 data matrix 0 我得到了所有日期的打印输出 所以
  • Nodejs TCP连接客户端端口分配

    我使用nodejs在客户端和服务器之间创建了tcp连接 网络模块 https nodejs org api net html 服务器正在侦听已经预定义的端口 并且客户端正在连接到该端口 据我了解客户端的端口是由节点动态分配的 那是对的吗 节
  • 系统()的替代方案

    我最近开始接触C 编程 并且获得了很多经验 我过去的几个程序一直在使用 system 命令 我读过这应该是一个非常糟糕的主意 首先 为什么这是一个坏主意 我在 Linux 上使用它来执行诸如清除屏幕 例如 system clear 和启动程
  • 强制 Intellij IDEA 重新读取所有 Maven 依赖项

    如何强制intellij idea重新读取 更新pom文件中指定的所有依赖项 Press Ctrl Shift A to find actions and input reload you will find the Reload All
  • 如果事件处理程序不存在,则以编程方式在 VB.NET 中添加事件处理程序

    我正在尝试对 ASP NET 网页中的多个控件使用单个事件处理程序 当且仅当事件处理程序尚不存在时 我想在运行时添加事件处理程序 在 C 中 我将如下所示编写 if myTextBox OnTextChanged null myTextBo
  • 为什么 MicroMeter 定时器返回零?

    考虑以下代码 public static void main String args Timer timer Metrics timer item processing for int i 0 i lt 100 i timer record
  • 将项目添加到 ListView,保持滚动位置并且看不到滚动跳跃

    我正在构建一个类似于 Google Hangouts 聊天界面的界面 新消息将添加到列表底部 向上滚动到列表顶部将触发加载以前的消息历史记录 当历史记录从网络传入时 这些消息将添加到列表的顶部 并且不应从触发加载时用户停止的位置触发任何类型
  • 无法确定 Architect 命令 Angular 的项目或目标

    C Users muhiuddin TOWERTECH test testapp gt ng build target production or C Users muhiuddin TOWERTECH test testapp gt ng
  • 如何在开发环境中使用 MobileIron 的 Web@Work 进行测试?

    我有一个可以在任何浏览器中完美运行的网站 现在我想使用 MobileIron 的 Web Work 浏览器将该网站用作书签 以创建一个通过 MobileIron 打包的基本 iOS 应用程序 Web Work的基本介绍在这里 https w
  • java标准序列化顺序

    我想知道以下示例类的属性将按什么顺序序列化 public class Example implements Serializable private static final long serialVersionUID 8845294179
  • 底层提供商无法打开

    HI 我正在使用 VS2010 并使用 Microsoft Entity Framework 4 0 我正在开发一个 Windows 应用程序 我在我的应用程序中绑定了几个组合 工作正常 void BindNatureOfIndustryC
  • 为什么我的 javascript getter/setter 需要下划线?

    执行 Get 或 Put 操作a抛出一个 RangeError 指出Maximum call stack size exceeded指向this a在吸气剂和 在设置器中 let someObject get a return this a
  • apollo graphql 架构 React-admin 初学者

    这些技术是全新的 到目前为止我所看到的让我非常兴奋 我很难找到我所坚持的东西的例子 React admin 的文档建议我的模式说 Posts 遵循 allPosts 和 allPostsMeta allPosts 部分工作没有问题 但自然
  • 如何从自定义视图中访问layout_height?

    我有一个自定义视图 我只是希望访问 xml 布局值layout height 我目前正在获取该信息并将其存储在 onMeasure 期间 但这仅在首次绘制视图时发生 我的视图是 XY 图 它需要尽早知道其高度 以便可以开始执行计算 该视图位
  • 悬停在父 div 上时更改子 div 的背景颜色吗? [复制]

    这个问题在这里已经有答案了 我想在父 div 悬停时更改子 div 的背景颜色 目前 我可以更改颜色 但只能将鼠标悬停在子 div 上 但是 我也想更改父 div 悬停时的颜色 div class content div class log
  • 如何使用 Selenium Safari Webdriver

    我正在尝试使用 Safari WebDriver 并且按照说明进行操作here https code google com p selenium wiki SafariDriverInternals构建 Safari 驱动程序 但现在我不知