使用Coorindates(X,Y)使用Webdriver获取文本

问题描述:

我使用类似于web驱动程序java的winium驱动程序来处理桌面应用程序。但我目前工作的应用程序不支持任何定位器,如:类名称,id,CSS等。因此,我使用不同的概念来启动应用程序(Winium Driver)和使用sikuli的动作。现在我无法使用sikuli从应用程序中提取准确的文本。所以我想出了不同的解决方案,比如使用tesseract OCR从应用程序中提取文本(使用坐标捕获图像并传递给tesseract),但仍然可以获取我需要的确切文本。使用Coorindates(X,Y)使用Webdriver获取文本

现在我有另一种想法,像使用坐标(因为我能够使用sikuli获得坐标)替代方式的脚本,并通过这些坐标来找到Web元素。 我google了很多,但仍然找不到任何合适的解决方案来获取网络元素使用坐标。

任何人都可以建议使用坐标获取网页元素的最佳方式,以便我可以传递网页元素并使用winium驱动程序获取文本。

在此先感谢。

您可以使用Selenium截取待测应用程序的截图,然后将图像发送到OCR.space OCR API。它返回屏幕截图上每个单词的坐标坐标 =>您具有文本的坐标。

{ 
     "ParsedResults" : [ 
      { 
       "TextOverlay" : { 
        "Lines" : [ 
         { 
          "Words": [ 
           { 
           "WordText": "Word 1", 
           "Left": 106, 
           "Top": 91, 
           "Height": 9, 
           "Width": 11 
           }, 
           { 
           "WordText": "Word 2", 
           "Left": 121, 
           "Top": 90, 
           "Height": 13, 
           "Width": 51 
           }