javascript - 是否有可能开发一个接受 Selenium 自动化的浏览器工具栏

标签 javascript html browser selenium toolbar

通常 selenium 不识别浏览器工具栏上的元素。但这是针对预构建浏览器工具栏的。浏览器工具栏(适用于 FF、IE 和 Chrome)能否以这样一种方式开发,即可以使用 selenium 来识别工具栏上的元素,然后对其执行控制操作,例如单击工具栏上的单选按钮。

最佳答案

因为Selenium只能控制JavaScript可以控制的东西,所以你需要弄清楚JavaScript是否可以控制工具栏。 JavaScript 有 3 个主要特性。我控制 JavaScript 处理、DOM(文档对象模型)和 BOM(浏览器对象模型)。当 HTML 5 和 CS3 出现时,JavaScript 可能有更多的控制权,但这是我的了解。

我认为您可能需要使用跨浏览器扩展来制作侧边栏/工具栏。 google-gears/silverlight/adobe-air/jnext。您可能需要使用 DOM 制作 UI。我不知道。您需要进行研究……以前从未这样做过。

如果工具栏是 BOM(和/或 DOM)的一部分,那么您可以。只需创建一个名为 Selenium.prototype.doControlToolbar 之类的自定义命令,然后将您的 JavaScript 逻辑放入该函数中(类似于我下面的内容)。祝你好运!

选项 #1 - 如果使用 Selenium IDE:

在 Selenium IDE > 选项(菜单)> 选项(菜单选项)> 常规选项卡下指定 user-extensions.js 文件,然后在“Selenium 核心扩展”下浏览到您的文件。

选项 #2 - 如果使用 Selenium RC 服务器:

如果您不使用 IDE 并使用带有客户端驱动程序的 Selenium RC 服务器(例如 JUnit),则必须在启动 Selenium RC 服务器时使用 -userExtensions 参数指定 *.js 文件的路径在命令行上。但是你说你只是想使用 IDE,所以我会忽略它。使用 Selenium RC 服务器需要相当多的其他设置。

java -jar selenium-server.jar -userExtensions 用户扩展.js

=======================

我在我的自定义 user-extensions.js 文件中创建了以下自定义命令(JavaScript 函数)。我必须退出并重新启动 IDE 才能找到它。在 IDE 的“命令”字段中的“do”之后键入所有内容以查找自定义命令。看起来它还在 IDE 中添加了一个“customAlertAndWait”。

user-extensions.js 文件中的代码:

Selenium.prototype.doCustomAlert = function(sTarget, sValue) { alert('Target: ' + sTarget + ' ... Value: ' + sValue); };

Selenium IDE 命令详细信息:

命令:自定义警报
Target:自定义告警目标
值:自定义警报值

关于javascript - 是否有可能开发一个接受 Selenium 自动化的浏览器工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6098023/

相关文章:

javascript - 如何提高 DOM 渲染时间

html - 用纯CSS动画一个接一个的div

javascript - 需要帮助修改网站的 javascript

javascript - Navigator.plugins不显示所有插件

javascript - 影子 DOM : what is shadow Dom and How to edit something inside it

javascript - 我想得到小数点后两位的结果

javascript - html 淡入子页面并更改 URL [更新]

javascript - 如何在javascript中将字符串转换为对象的字段名称

javascript - 我在关键操作中遇到错误

image - 如何在浏览器选项卡中放置图像/ Logo