SWT浏览器小部件中的搜索字符串
Search string in SWT Webbrowser Widget
我编写了一个程序,其中包括swt中的浏览器小部件。现在我导航到谷歌,想搜索字符串"图片",例如。这是我的代码,但它不起作用:
browser.addProgressListener(new ProgressAdapter() {
boolean firstCompleted = false;
@Override
public void completed(ProgressEvent evt) {
if (!firstCompleted) {
String search = "Pictures";
// this row doesn't work... - not yet ;)
int n = (int) browser.evaluate("return str.search('"" + search + "'"));");
if (n == -1) {
// string not found
} else if(n >= 1) {
// string found
}
firstCompleted = true;
}
}
});
JavaScript应该检查字符串是否可用,并返回整数n
,其中包括str.search()-操作的结果。如果n == -1
没有这样的字符串,如果n == 1
在网站上找到了字符串。
这里有一个非常简单的例子,它将从JavaScript返回一个值到Java,并将其打印到命令行:
public static void main(String[] args)
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new FillLayout());
final Browser browser = new Browser(shell, SWT.NONE);
browser.setText("......baz");
Button b = new Button(shell, SWT.PUSH);
b.setText("Do something");
b.addListener(SWT.Selection, new Listener()
{
public void handleEvent(Event e)
{
String baz = "baz";
boolean result = (boolean) browser.evaluate("return window.find('" + baz + "');");
System.out.println(result);
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
请注意,我使用了与您不同的JS函数,并且在JS代码中有一个额外的右括号。
这是一个很好的教程。
相关文章:
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 在javascript中搜索字符串
- td:包含变量中的搜索字符串
- 在元素中搜索字符串,然后将其放入条件语句中
- Javascript正则表达式,用于验证接收到的MySQL全文搜索的搜索字符串
- 在对象数组中搜索字符串
- 在HTML中搜索字符串并返回True的Javascript条件
- 使用Tilde(~)和search()搜索字符串
- 在DOM中搜索字符串时不区分大小写
- 如何以编程方式输入搜索字符串并触发谷歌地图API的places_changed
- 在 Enter 上,在 db 中搜索字符串
- 使用引导表插件,如何在首次加载时设置搜索字符串
- 如何在 Firefox 25 中获取查找栏的最后一个搜索字符串
- JavaScript 搜索字符串包含
- 如何确定搜索字符串是否被较大字符串中的锚标记包装 - javascript 正则表达式
- 使用 forEach 在多个数组中搜索字符串
- 如何编写 angularjs 过滤器来搜索字符串片段/字符串序列
- Javascript:搜索字符串时数组中的多个表达式
- 如何使用 javascript 在
中搜索字符串,然后添加到该 id - 谷歌表格循环搜索字符串并清除相邻单元格