一直没有弄 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 对应的 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 代码同时运行。