无法让 CSSCount 工作

发布于 2024-11-03 06:34:31 字数 1056 浏览 0 评论 0 原文

我试图使用 这篇博客文章。获取 CSS 定位器的计数。但没有用,方法是 -

public static int getCSSCount(String cssLocator) {
    String jsScript = "var cssMatches = eval_css(\"%s\", window.document);cssMatches.length;"; 
    return Integer.parseInt(selenium.getEval(String.format(jsScript, cssLocator))); 
}

以及方法调用 -

getCSSCount("div[class='team-name'] a");

但我总是遇到以下异常 -

失败: com.thoughtworks.selenium.SeleniumException: 错误:抛出异常: 未终止的字符串文字位于 com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97) 在 com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91) 在 com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:262) 在 com.thoughtworks.selenium.DefaultSelenium.getEval(DefaultSelenium.java:471)

I was trying to use this blog post. To get count of CSS locators. But of not avail, method is -

public static int getCSSCount(String cssLocator) {
    String jsScript = "var cssMatches = eval_css(\"%s\", window.document);cssMatches.length;"; 
    return Integer.parseInt(selenium.getEval(String.format(jsScript, cssLocator))); 
}

and the method call -

getCSSCount("div[class='team-name'] a");

but I always encounter following exception -

FAILED:
com.thoughtworks.selenium.SeleniumException:
ERROR: Threw an exception:
unterminated string literal at
com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
at
com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
at
com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:262)
at
com.thoughtworks.selenium.DefaultSelenium.getEval(DefaultSelenium.java:471)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅蓝的眸勾画不出的柔情 2024-11-10 06:34:31

我复制了上面给出的代码,它对我有用。我的 cssLocator 是:

"div[class=\'callout\'] a"

我认为问题是由于提供给 JavaScript 函数的未转义单引号造成的。

I copied the code given above and it worked for me. My cssLocator was:

"div[class=\'callout\'] a".

I think problem is due to un-escaped single quote supplied to JavaScript function.

凶凌 2024-11-10 06:34:31

这个函数对我来说效果很好...

你的 CSS 标识符似乎有一个轻微的语法问题...

试试这个 -

getCSSCount("div[class=team-name]");

另外,如果你正在计算的元素包含在 iframe 中,请确保你使用 selenium .selectFrame(...); 在该框架内设置焦点。

This function works well for me...

There appears to be a slight syntactical issue in your CSS identifier...

Try this -

getCSSCount("div[class=team-name]");

Also, if the elements you are counting are contained within an iframe, ensure that you use a selenium.selectFrame(...); to set the focus within that frame.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文