gpt4 book ai didi

java - 在 SWT 浏览器中获取和设置焦点位置

转载 作者:行者123 更新时间:2023-12-01 11:17:44 25 4
gpt4 key购买 nike

我想获取并设置 SWT 浏览器中的位置,但我不知道如何操作。

首先,我创建了一个浏览器控件:

Browser browser = new Browser(shell, SWT.NONE);

然后我启动了一个 HTML 文档:

File file = new File("C:\\test\\index.html");
browser.setUrl(file.toURI().toString());

到目前为止效果很完美。现在,我向下滚动页面以找到有趣的文本段落,然后单击菜单项来创建一种书签。我的问题是:如何获取当前焦点位置 (x,y) 以记住文本中的点,以及如何稍后重置位置以“应用”特定书签?

最佳答案

您可以通过 Browser#evaluate()Browser#execute() 与浏览器内容进行交互。这两种方法都允许在浏览器文档的上下文中执行 Javascript。

要发送查询当前位置的 Javascript 代码,请使用以下内容:

Object position = browser.evaluate( "window.getCurrentPosition();" );

返回值的类型取决于计算的代码。调试代码以查看实际的返回类型是什么。

如果您对返回值不感兴趣,请使用execute。例如,要设置当前位置,您可以使用:

browser.evaluate( "window.setCurrentPosition( x, y );" );

请注意,Javascript 是伪代码,实际上并不返回当前位置。

如果遇到 SWTException,则文档可能尚未完全加载,您需要延迟 Javascript 代码的执行,直到其完全加载,如下所述: https://stackoverflow.com/a/7802717/2986905

关于java - 在 SWT 浏览器中获取和设置焦点位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com