Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检测特定文本的位置_Python_Ios_Appium_Appium Ios_Python Appium - Fatal编程技术网

Python 检测特定文本的位置

Python 检测特定文本的位置,python,ios,appium,appium-ios,python-appium,Python,Ios,Appium,Appium Ios,Python Appium,假设我们有一个文本字段,要查看更多信息,请单击此处,要获取更多信息,请单击此处 因此,我使用xpath识别了文本,并可以得到它的位置和大小。 现在我们可以在这里找到的位置了。我需要单击它,但因为它不是一个元素,所以我无法搜索它。所以,如果我能找到它的位置,我就可以点击它 但是,我们如何才能得到它的位置,并保持它的通用性,以便它在不同的设备上运行?使用Objective C(我知道OP使用Appium,但他让我回答)的想法是使用库,例如,并以这种方式使用它: Appium 1.5.0 Xcode

假设我们有一个文本字段
,要查看更多信息,请单击此处
,要获取更多信息,请单击此处

因此,我使用
xpath
识别了文本,并可以得到它的位置和大小。 现在我们可以在这里找到的位置了。我需要单击它,但因为它不是一个元素,所以我无法搜索它。所以,如果我能找到它的位置,我就可以点击它


但是,我们如何才能得到它的位置,并保持它的通用性,以便它在不同的设备上运行?

使用Objective C(我知道OP使用Appium,但他让我回答)的想法是使用库,例如,并以这种方式使用它:

Appium 1.5.0 
Xcode  7.3 
IOS 10.11.4 OSX EI Capitan
Using on:Simulator iOS 8.1
创建
TTtatAttributedLabel
UILabel
子类),并将文本内容放入其中,就像它是UILabel一样。将其委托设置为self。然后,通过以下方式添加到单词的链接:

Appium 1.5.0 
Xcode  7.3 
IOS 10.11.4 OSX EI Capitan
Using on:Simulator iOS 8.1
单击单词时,它将调用此方法,您可以在其中处理单击:

NSRange rangeWord = [attributedLabel.text rangeOfString:@"here"];
[attributedLabel addLinkToURL:[NSURL URLWithString:@"anActionOnClickHere"] withRange:rangeUser];

我完全不了解Python,希望您能找到一个等效的方法。

使用Objective C的想法(我知道OP使用Appium,但他让我回答)是使用库,如,并以这种方式使用它:

Appium 1.5.0 
Xcode  7.3 
IOS 10.11.4 OSX EI Capitan
Using on:Simulator iOS 8.1
创建
TTtatAttributedLabel
UILabel
子类),并将文本内容放入其中,就像它是UILabel一样。将其委托设置为self。然后,通过以下方式添加到单词的链接:

Appium 1.5.0 
Xcode  7.3 
IOS 10.11.4 OSX EI Capitan
Using on:Simulator iOS 8.1
单击单词时,它将调用此方法,您可以在其中处理单击:

NSRange rangeWord = [attributedLabel.text rangeOfString:@"here"];
[attributedLabel addLinkToURL:[NSURL URLWithString:@"anActionOnClickHere"] withRange:rangeUser];

我完全不了解Python,希望您能找到一个等效的方法。

没有任何直接的方法来实现这一点(Appium本身没有可用的API)。 不过,我的解决方案是通用的,可以在所有设备(Android和iOS)上使用,所有编程语言都可以实现

  • [您已经完成]获取元素的位置和大小
  • 拍摄当前屏幕的屏幕截图
  • 使用图像的位置和大小从屏幕截图中裁剪图像。[如果没有不明确的目标,可以跳过此步骤]
  • [您只需手动执行一次]裁剪出要获取位置的图像部分
  • 搜索裁剪图像的位置,获取位置并执行精确的点击/单击

  • 有关图像搜索,请参阅此处:

    没有任何直接的方法来实现这一点(Appium本身没有可用的API)。 不过,我的解决方案是通用的,可以在所有设备(Android和iOS)上使用,所有编程语言都可以实现

  • [您已经完成]获取元素的位置和大小
  • 拍摄当前屏幕的屏幕截图
  • 使用图像的位置和大小从屏幕截图中裁剪图像。[如果没有不明确的目标,可以跳过此步骤]
  • [您只需手动执行一次]裁剪出要获取位置的图像部分
  • 搜索裁剪图像的位置,获取位置并执行精确的点击/单击

  • 有关图像搜索,请参阅此处:

    您可以参考此内容。我有一个想法,但我不知道应用程序,您可以使用Objective C吗?@anthonic。不幸的是,我不得不使用appium…你仍然可以分享这个想法…作为一个答案…我会尝试一下,如果它有效的话python@DungProton我需要在python中使用它…通过
    appium python
    client…你知道如何在python中实现同样的功能吗?如果调用
    source\u窗口
    ,它将返回所有元素及其“你可以参考这个,我有一个想法,但我不知道阿皮姆,你能用目标C吗?”Anthononic。不幸的是,我不得不使用appium…你仍然可以分享这个想法…作为一个答案…我会尝试一下,如果它有效的话python@DungProton我需要在python中使用它…通过
    appium python
    client…你知道如何在python中实现同样的功能吗?如果调用
    source\u窗口
    ,它将返回所有元素及其positionThanx…将深入,尽管一开始这在python中似乎不可能…将更新uThanx…将深入,尽管一开始这在python中似乎不可能…将更新标记为此的uI,尽管它不是完全通用的,因为当设备更改时,一次性手动工作将不得不再次完成…我标记了这一点,虽然它不是完全通用的,因为当设备发生变化时,一次性手动工作将不得不再次完成。。。