1

我尝试获取一些网站属性(单元格的颜色)并在 Selenium 中进行比较。

当我把这个:

javascript:window.getComputedStyle(document.getElementById("simple_cname"),null).getPropertyValue("background-color");

在 Chrome Omnibox 中,我收到了正确的答案,但是当我使用 storeEval 或 assertEval 尝试获取此值时,它无法正常工作。
编辑:我把这样的硒命令。我使用 storeEval ,当我回显该值时,它会返回此命令。我使用火狐。我使用 Chrome 只是为了检查命令是否正确。(应该是 "rgb(220, 22, 92)" ) edit2: 是的,命令没问题,但是我在 Selenium-IDE 工具中使用它时遇到了问题。当我将它与 storeEval 命令一起使用时,它不会返回该值。日志:[info] 脚本为:var test javascript:window.getComputedStyle(document.getElementById("simple_cname"),null).getPropertyValue("background-color"); 回声测试;[信息] 执行:|echo | ${测试} | | [信息] echo: var test javascript:window.getComputedStyle(document.getElementById("simple_cname"),null).getPropertyValue("background-color"); 回声测试;


我把这样的硒命令。我使用 storeEval ,当我回显该值时,它会返回此命令。我使用火狐。我使用 Chrome 只是为了检查命令是否正确。(应该是 "rgb(220, 22, 92)" )

4

1 回答 1

0

您需要删除该javascript:部分并引用documentwindow.document。该命令将如下所示:

window.getComputedStyle(window.document.getElementById('simple_cname'),null).getPropertyValue('background-color');

javascript:部分仅在从 URL 栏中运行代码时才需要,在其他任何地方都是多余的。使用Console代替您的多功能框在 Chrome 中运行 JS 命令。

该部分下的文档document中提到了->window.document事物。storeEval

另外,请注意,您的脚本只能在现代浏览器中运行,它会在 IE < 9 中失败。如果您对此感到满意,那很好。如果没有,谷歌有解决方案

于 2012-07-02T08:34:11.173 回答