草庐IT

java - 自动生成 HTTP 屏幕抓取 Java 代码

我需要从网站上抓取一些数据,因为他们的网络服务无法提供这些数据。当我以前需要这样做时,我使用Apache的HTTP客户端库自己编写了Java代码来进行相关的HTTP调用以下载数据。在使用Charleswebproxy时,我通过点击浏览器中的相关屏幕找出了我需要进行的相关调用。记录相应的HTTP调用。正如您想象的那样,这是一个相当乏味的过程,我想知道是否有一种工具可以实际生成对应于浏览器session的Java代码。我预计生成的代码不会像手动编写的代码那样漂亮,但我总能在之后整理它。有谁知道这样的工具是否存在?Selenium是我知道的一种可能性,但我不确定它是否支持这个确切的用例。谢谢

java - 检测屏幕上的鼠标移动

我创建了一个MouseMotionDetection类,它的作用只是检测用户是否将鼠标移动到屏幕上的任何位置。为此,我在我的类构造函数中创建了一个新的JFrame,其屏幕尺寸是不可见的,所以基本上我在整个屏幕上观察鼠标运动。但是,我有一个奇怪的错误:在代码的当前形式中,一旦这个类被激活,我只检测到一个鼠标Action,没有别的,它在那之后立即停止工作。但是,如果我把将帧背景设置为0f、0f、0f、0f(透明)的行放在评论中然后激活,整个屏幕就会变成灰色,我会按照我的需要继续跟踪所有鼠标Action(我可以什么都看不到)。我真的不明白为什么会这样,周围没有看到相关问题,也没有在这个相关j

java - 从屏幕捕获并保存到磁盘多线程

接下来的问题应该是观察屏幕、记录一个事件(测量文本框变为绿色)并记录导致它发生的所有事件,从而制作出导致它发生的事件的“电影”。不幸的是,需要记录整个屏幕。到目前为止,我已经完成了认可的部分。但是我每秒几乎没有两帧。我想要大约25到30fps。我的想法是在两个单独的线程中进行写作和阅读。因为写入事件很少见并且可以在后台运行,所以录制事件可以占用更多时间并运行得更快。不幸的是,整个事情似乎太慢了。我希望能够在事件发生前的10到20秒将屏幕写入磁盘。编辑:如果可能的话,我想尽可能保持平台独立。编辑2:Xuggler似乎有一个独立于平台的jar文件。不幸的是,我真的不知道如何将它用于我的目的

java - 如何将我的 JMenuBar 移动到 Mac OS X 上的屏幕菜单栏?

当我将JMenuBar移动到MacOSX上的屏幕菜单栏时,它会在我的窗口中菜单所在的位置留下一些空白区域;我需要删除那个空间。我正在使用System.setProperty("apple.laf.useScreenMenuBar","true")将我的JMenuBar移动到屏幕菜单栏。我使用Mac的friend报告说,如果我没有设置该属性,这会在菜单所在的位置留下一些丑陋的垂直空间。解决此问题的最佳方法是什么?编辑:这是来self的来源的示例:publicstaticvoidmain(String[]args){System.setProperty("apple.laf.useScre

java - 从屏幕截图生成视频提要的替代方法

我在远程管理玩具项目中工作。现在,我可以使用Robot类捕获屏幕截图并控制鼠标。屏幕截图是BufferedImage实例。首先是我的要求:-只有一个服务器和一个客户端。-性能很重要,因为客户端可能是Android应用。我考虑过打开两个套接字连接,一个用于鼠标和系统命令,第二个用于视频输入。如何将屏幕截图转换为视频流?我应该将它们转换为已知的视频格式,还是只发送一系列序列化图像就可以了?压缩是另一个问题。根据我的初步测试,以全分辨率发送屏幕截图会导致低帧率。我想我至少需要24fps才能感知运动,所以我必须缩小和压缩。我可以将BufferedImages转换为jpg文件,然后设置压缩率,但

java - 在屏幕右下角的位置

我需要在我的屏幕上定位JFrame。但是我不能让它们出现在屏幕底部的右侧。请有人能解释一下如何定位它们,如果你能描述如何去做,那就太好了。这是到目前为止的代码。//GetsthescreensizeandpositionstheframeleftbottomofthescreenGraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();GraphicsDevicedefaultScreen=ge.getDefaultScreenDevice();Rectanglerect=defaultScreen.

java - 将屏幕截图附加到 TestNG 失败方法结果

我正在寻找一种方法来将失败方法的屏幕截图附加到TestNG报告的结果部分。到目前为止,我可以通过执行此操作将我的屏幕截图附加到ReporterOutput:Reporter.log("");但仍在努力将它们添加到失败方法的测试结果部分。我能够实现Listener并拦截最初建议的onTestFailure操作:HowcanIincludeafailurescreenshottothetestNGreport这是一个例子:@OverridepublicvoidonTestFailure(ITestResultresult){Reporter.setCurrentTestResult(res

java - 在强制滚动到它之前检查屏幕上是否出现一行?

我正在使用SwingJTable,我想强制滚动到其中的特定行。这很简单,使用scrollRowToVisible(...),但我想先检查这一行在滚动到它之前在屏幕上是否已经可见,就好像它已经可见一样没有必要强制滚动。我该怎么做? 最佳答案 下面的链接指向一篇确定单元格是否可见的文章。您可以使用它-如果单元格可见,则该行可见。(当然,如果还存在水平滚动,则可能不是整行。)但是,我认为当单元格比视口(viewport)宽时,这会失败。为了处理这种情况,您更改测试以检查单元格边界的顶部/底部是否在视口(viewport)的垂直范围内,但忽

java - 如何确定在哪个屏幕上显示 JDialog

我有一个非常大的应用程序,它有多个对话框。我的任务是确保将不完全可见的对话框(因为用户将其拉出可见屏幕区域)移回屏幕中央。当我只处理一个屏幕时,这没问题。它工作得很好......但是,这个应用程序的大多数用户在他们的桌面上有两个屏幕......当我试图找出对话框显示在哪个屏幕上并将其居中放置在该特定屏幕上时,......好吧,它确实居中,但在主屏幕上(可能不是显示对话框的屏幕)在)。为了向您展示我到目前为止的想法,这是代码....../***Getthenumberofthescreenthedialogisshownon...*/privatestaticintgetActiveSc

java - 无法在 Selenium 中截取屏幕截图

我试图为每次失败事件捕获屏幕截图并编写以下代码,但这不起作用。publicclassTestFile{WebDriverdriver=newFirefoxDriver();@TestpublicvoidTestone(){driver.get("http://www.google.com/");}@AfterMethod(alwaysRun=true)publicvoidcatchExceptions(ITestResultresult){System.out.println("result"+result);StringmethodName=result.getName();Syst