use normal element by KazuCocoa · Pull Request #236 · appium/python-client

appium/appium-base-driver#235 was merged. Thus, we can remove customised image elements introduced in #224 since we can get coordinates by rect, location and size, I think. right? @jlipps
(Following Java and Ruby client did)

You can see some commands like /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/rect after getting a result of -image

[HTTP] --> POST /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element
[HTTP] {"using":"-image","value":"iVBORw0KGgoAAAANSUhEUgAAAdsAAAA3CAYAAABEi+B5AAAMJ2lDQ1BJQ0MgUHJvZmlsZQAASImVlwdYU8kWgOeWJCQktEAEpITeBOlVamgRBKSDjZAEEkqMCUHEjiwquBZULFjRVREF1wLIoiL2sijY68OCirIuFmyovEkC6Or33vvefN/c+98zZ86cc+7MfDMAqMdwxOIcVAOAXFGeJDYsiJmcksokPQQowACUAgaHKxUHxsREQgZD73+Wd9cBIn9fsZfb+rn9vxZNHl/KBQCJgZzOk3JzIR8EAHfniiV5ABB6oNxsep4YMlHuj7YEOgjZXM6ZSvaUc7qSIxU68bEsyGkAqFA5HEkmAGpyv5j53ExoR20JZEcRTyiC3AzZjyvg8CB/hjwqN3cqZHVryNbp39nJ/IfN9GGbHE7mMCtjURSVYKFUnMOZ8X+m43+X3BzZ0BhmsFIFkvBYeczyvGVPjZAzFfJZUXpUNGQtyFeFPIW+nJ8IZOEJg/ofuFIWzBlgAIBSeZzgCMgGkE1FOVGRg3K/DGEoGzLMPRovzGPHK/uiPMnU2EH7aAFfGhI3xByJYiy5TqksOyFw0OYmAZ89ZLOpUBCfpPQTvZwvTIyCrAb5rjQ7LmJQ53mhgBU1pCORxcp9hv8cAxmS0FilDmaeKx2KC/MWCNlRgxyZJ4gPV/bFJnM5Ct90IWfxpcmRQ37y+MEhyriwIr4oYdB/rFycFxQ7qL9dnBMzqI8183PC5HJTyG3S/Lihvr15cLIp48WBOC8mXukbrp3FGRuj9AG3BZGABYIBE8hgTQdTQRYQtvU09MAvZUso4AAJyAR8YD8oGeqRpGgRwWccKAR/QeID6XC/IEUrH+RD+ZdhqfJpDzIUrfmKHtngCeRcEAFy4LdM0Us0PFoieAwlwp9G50Jfc2CVt/0kY6oPyYghxGBiODGUaIPr4364Dx4JnwGwOuOeuNeQX9/0C
[debug] [W3C] Calling AppiumDriver.findElement() with args: ["-image","iVBORw0KGgoAAAANSUhEUgAAAdsAAAA3CAYAAABEi+B5AAAMJ2lDQ1BJQ0MgUHJvZmlsZQAASImVlwdYU8kWgOeWJCQktEAEpITeBOlVamgRBKSDjZAEEkqMCUHEjiwquBZULFjRVREF1wLIoiL2sijY68OCirIuFmyovEkC6Or33vvefN/c+98zZ86cc+7MfDMAqMdwxOIcVAOAXFGeJDYsiJmcksokPQQowACUAgaHKxUHxsREQgZD73+Wd9cBIn9fsZfb+rn9vxZNHl/KBQCJgZzOk3JzIR8EAHfniiV5ABB6oNxsep4YMlHuj7YEOgjZXM6ZSvaUc7qSIxU68bEsyGkAqFA5HEkmAGpyv5j53ExoR20JZEcRTyiC3AzZjyvg8CB/hjwqN3cqZHVryNbp39nJ/IfN9GGbHE7mMCtjURSVYKFUnMOZ8X+m43+X3BzZ0BhmsFIFkvBYeczyvGVPjZAzFfJZUXpUNGQtyFeFPIW+nJ8IZOEJg/ofuFIWzBlgAIBSeZzgCMgGkE1FOVGRg3K/DGEoGzLMPRovzGPHK/uiPMnU2EH7aAFfGhI3xByJYiy5TqksOyFw0OYmAZ89ZLOpUBCfpPQTvZwvTIyCrAb5rjQ7LmJQ53mhgBU1pCORxcp9hv8cAxmS0FilDmaeKx2KC/MWCNlRgxyZJ4gPV/bFJnM5Ct90IWfxpcmRQ37y+MEhyriwIr4oYdB/rFycFxQ7qL9dnBMzqI8183PC5HJTyG3S/Lihvr15cLIp48WBOC8mXukbrp3FGRuj9AG3BZGABYIBE8hgTQdTQRYQtvU09MAvZUso4AAJyAR8YD8oGeqRpGgRwWccKAR/QeID6XC/IEUrH+RD+ZdhqfJpDzIUrfmKHtngCeRcEAFy4LdM0Us0PFoieAwlwp9G50Jfc2CVt/0kY6oPyYghxGBiODGUaIPr4364Dx4JnwGwOuOeuNeQX9/0CU8I7YSHhGuETsKtKcIiyQ+eM8E40Al9DB2MLv...
[BaseDriver] Finding image element with match threshold 0.4
[debug] [AndroidBootstrap] Sending command to android: {"cmd":"action","action":"getDeviceSize","params":{}}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"getDeviceSize","params":{}}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: getDeviceSize
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":{"height":1794,"width":1080}}
[debug] [BaseDriver] Waiting up to 0 ms for condition
[debug] [ADB] Device API level: 25
[BaseDriver] Verifying screenshot size and aspect ratio
[BaseDriver] When trying to find an element, determined that the screen aspect ratio and screenshot aspect ratio are different. Screen is 1080x1794 whereas screenshot is 1080x1920.
[BaseDriver] Resizing screenshot to 1155.8528428093646x1920 to match screen aspect ratio so that image element coordinates have a greater chance of being correct.
[BaseDriver] Scaling screenshot from 1155.8528428093646x1920 to match screen at 1080x1794
[BaseDriver] Image template matched: {"x":8,"y":1,"width":475,"height":55}
[debug] [W3C] Responding to client with driver.findElement() result: {"element-6066-11e4-a52e-4f735466cecf":"appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc"}
[HTTP] <-- POST /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element 200 3599 ms - 109
[HTTP]
[HTTP] --> GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/size
[HTTP] {"id":"appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","sessionId":"bf8df057-4e6d-4920-8be7-26b8a9fe9e68"}
[debug] [W3C] Calling AppiumDriver.getSize() with args: ["appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","bf8df057-4e6d-4920-8be7-26b8a9fe9e68"]
[debug] [W3C] Responding to client with driver.getSize() result: {"width":475,"height":55}
[HTTP] <-- GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/size 200 3 ms - 35
[HTTP]
[HTTP] --> GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/location
[HTTP] {"id":"appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","sessionId":"bf8df057-4e6d-4920-8be7-26b8a9fe9e68"}
[debug] [W3C] Calling AppiumDriver.getLocation() with args: ["appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","bf8df057-4e6d-4920-8be7-26b8a9fe9e68"]
[debug] [W3C] Responding to client with driver.getLocation() result: {"x":8,"y":1}
[HTTP] <-- GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/location 200 2 ms - 23
[HTTP]
[HTTP] --> GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/rect
[HTTP] {"id":"appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","sessionId":"bf8df057-4e6d-4920-8be7-26b8a9fe9e68"}
[debug] [W3C] Calling AppiumDriver.getElementRect() with args: ["appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","bf8df057-4e6d-4920-8be7-26b8a9fe9e68"]
[debug] [W3C] Responding to client with driver.getElementRect() result: {"x":8,"y":1,"width":475,"height":55}
[HTTP] <-- GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/rect 200 2 ms - 47
[HTTP]
[HTTP] --> GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/displayed
[HTTP] {"id":"appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","sessionId":"bf8df057-4e6d-4920-8be7-26b8a9fe9e68"}
[debug] [W3C] Calling AppiumDriver.elementDisplayed() with args: ["appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","bf8df057-4e6d-4920-8be7-26b8a9fe9e68"]
[debug] [W3C] Responding to client with driver.elementDisplayed() result: true
[HTTP] <-- GET /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/displayed 200 2 ms - 14
[HTTP]
[HTTP] --> POST /wd/hub/session/bf8df057-4e6d-4920-8be7-26b8a9fe9e68/element/appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc/click
[HTTP] {"id":"appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","sessionId":"bf8df057-4e6d-4920-8be7-26b8a9fe9e68"}
[debug] [W3C] Calling AppiumDriver.click() with args: ["appium-image-element-4810adbb-4c21-4c2d-a2be-be7dfd80f8dc","bf8df057-4e6d-4920-8be7-26b8a9fe9e68"]