第一步:检查手机内置的chrome版本。打开手机或模拟器里的H5页面,然后在电脑上的chrome浏览器网址栏输入chrome://inspect/#devices
第二步:查找并下载与chrome版本相匹配的驱动。下载网址:
http://appium.io/docs/en/writing-running-appium/web/chromedriver/#chromedriverchrome-compatibility
将下载好的驱动放在如下目录:
第三步:编写代码
import time
from appium.webdriver.webdriver import WebDriver
from selenium.webdriver.support.wait import WebDriverWait
class aa():
def __init__(self):
self.caps = {}
self.caps['automationName'] = 'UiAutomator2'
self.caps["newCommandTimeout"] = "5000"
self.caps['platformName'] = 'Android'
self.caps["platformVersion"] = "6.0"
self.caps["deviceName"] = "192.168.75.103:5555"
self.caps["appPackage"] = "com.youdao.note"
self.caps["appActivity"] = ".activity2.SplashActivity"
self.driver = WebDriver('http://127.0.0.1:4723/wd/hub', self.caps)
self.driver.implicitly_wait(15)
aa = WebDriverWait(self.driver,15).until(lambda x: x.find_element_by_id("com.youdao.note:id/btn_ok"))
if aa:
# 点击同意按钮
self.driver.find_element_by_id("com.youdao.note:id/btn_ok").click()
# 点击取消按钮
self.driver.find_element_by_id("com.youdao.note:id/btn_cancel").click()
def H5(self):
#点击“我的”按钮
self.driver.find_elements_by_id("com.youdao.note:id/tab_name")[3].click()
time.sleep(3)
#向下滚动屏幕
self.driver.swipe(80,1610,80,950)
#点击“有道阅读”
self.driver.find_element_by_id("com.youdao.note:id/youdao_reading").click()
time.sleep(5)
#获取H5页面标识
page=self.driver.contexts
print(page)
#切换到H5页面
self.driver.switch_to.context(page[1])
#可使用web端定位方法定位一段元素
aa=self.driver.find_element_by_css_selector('[class="hd-normal-list"]').text
print(aa)
#点击手机回退健,切出H5页面,回到app界面
self.driver.press_keycode(4)
if __name__ == '__main__':
aa1=aa()
aa1.H5()
运行结果:
['NATIVE_APP', 'WEBVIEW_com.youdao.note']
加入计划
当手机打开内部的web页面并切换到此页面时,就可以使用web页面的多种定位方法去定位网页元素,不再局限与只能用appium里的定位方法: