ATX ATX 文档 - Android WebView 支持说明

codeskyblue · January 24, 2017 · 4898 hits

简介

一直没有弄ATX的WebView支持,最近正好需要用到。借助已有的chromedriver以及selenium,写起来还挺简单的,一天弄完了。

安装

官方的下载地址是 https://sites.google.com/a/chromium.org/chromedriver/downloads 但是打开之后发现下载不到历史版本。
从这里就可以找到 https://chromedriver.storage.googleapis.com/ 这个网页打开是一个xml

里面的Key对应的就是文件的路径,比如2.0/chromedriver_linux32.zip
访问这个地址https://chromedriver.storage.googleapis.com/2.0/chromedriver_linux32.zip 就可以下载到对应的文件了。

chromedriver的版本选择

版本太高太低都不行。

不同chromedriver对应的chrome版本

通过访问 chrome://inspect 可以查到当前App使用的WebView版本

不同版本应该使用的chromedriver版本对应关系可以从这里看到 appium-chromedriver/chromedriver.js

上图的这种情况下使用该版本的chromedriver就可以

手动安装额外的依赖库

pip install selenium

使用

import atx
from atx.ext.chromedriver import ChromeDriver

def main():
d = atx.connect()
driver = ChromeDriver(d).driver()
driver.find_element_by_xpath('//*[@id="J-account-login-mp"]').send_keys(username)
driver.find_element_by_xpath('//*[@id="J-account-login-pwd"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="J-login-submit"]').click()
driver.quit()

main()

更多的selenium文档需要参考 http://selenium-python.readthedocs.io/getting-started.html

已知问题

Chrome开inspect的时候不能和python代码同时运行。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 0 条回复 时间 点赞
codeskyblue ATX 文档 - iOS 控件操作 API 中提及了此贴 04 Feb 17:17
codeskyblue ATX 资料快速索引 中提及了此贴 21 Jun 19:39
linpengcheng ATX-uiautomator2 实现 webview 的操作 中提及了此贴 29 Mar 21:08
codeskyblue Android WebView 研究笔记 中提及了此贴 29 Aug 18:31
codeskyblue webview 研究踩到的坑 中提及了此贴 10 Sep 11:42
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up