操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    本文內容在以下環境運行成功:

    .7

    -.4.1

    --1.15.1

    .40

    小米手機

    微信7.0.13(.0.3359)

    環境之前已經搭建好了,還沒搭建好環境的看這里:

    一、編寫微信部分代碼

    可以用 錄制微信部分代碼,不會的看這:

    我用例錄制的步驟為,打開微信-->點右上角搜索按鈕-->輸入:測試工程師小站-->點擊搜索結果中的公眾號-->點擊菜單:歷史消息

    以上部分代碼為:

    from appium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    desired_caps = {}
    desired_caps[platformName] = Android
    desired_caps[platformVersion] = 9
    desired_caps[deviceName] = 63fa4de5
    desired_caps[appPackage] = com.tencent.mm
    desired_caps[appActivity] = .ui.LauncherUI
    desired_caps[noReset] = True
    desired_caps[chromeOptions] = {androidProcess: com.tencent.mm:tools}
    driver = webdriver.Remote(http://localhost:4723/wd/hub, desired_caps)
    wait=WebDriverWait(driver, 10)
    # 打開微信需要一定時間,這里我們用顯示等待,等搜索元素出現后再獲取,后面代碼大家自行根據需要添加
    el1 = wait.until(EC.presence_of_element_located((By.ID, com.tencent.mm:id/f8y)))
    

    破解網站禁止復制頁面內容和圖片_h5頁面長按復制_h5頁面長按復制

    el1.click()
    # 點擊搜索 time.sleep(1) driver.find_element_by_id("com.tencent.mm:id/bhn").send_keys(u"測試工程師小站") # 輸入名稱 driver.find_element_by_id("com.tencent.mm:id/gbv").click() # 點擊公眾號 driver.find_element_by_id("com.tencent.mm:id/alv").click() # 點擊一級菜單 # 點擊二級菜單(歷史消息) el2 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ListView/android.widget.TextView[2]") el2.click()

    到此步微信打開了H5頁面(),下面H5的自動化就和在PC上使用自動化WEB一樣了,接下來進行一些準備工作。

    二、編寫微信部分代碼

    1.開啟微信debug模式

    微信內置的瀏覽器,需要先開啟調試功能。在微信上隨便找個聊天欄,輸入:

    勾選:打開TBS內核調試功能

    2.在PC上,打開瀏覽器,輸入::///#

    我們之前已經在微信上打開了H5頁面,可以在PC 頁面上看到,并且看到微信的版本是66.0.3359

    點擊,打開元素調試頁面,和web是完全一樣的。注意這個工具必須得番墻后才能用哦,我也不知道為啥不弄成本地的,還非得連他們家服務器。

    左側屏幕區域h5頁面長按復制,支持鼠標滾輪和點擊,可以同步操作手機。點上面的箭頭(元素抓取工具)圖標,再點H5上的元素,就在右側上方定位元素,右側下方可以寫Xpath和CSS語句,來調試定位的準確性。

    OK,我們繼續編寫H5頁面的自動化代碼,在打開的歷史消息H5,點擊第一篇文章,文章打開后點擊頁面最右下角的‘在看’按鈕。

    以上源碼為:

    driver.switch_to.context(WEBVIEW_com.tencent.mm:tools)
    driver.find_element_by_xpath(//span[@class="weui_media_hd js_media"]).click() # 點擊第一個歷史消息
    driver.find_element_by_xpath(//button[@id="js_like_btn"]).click() # 點擊在看

    不一致的坑:

    切運行后報錯,提示:

    mon..: : An -side error while the . error: A new could not be . : not : This of only 76

    h5頁面長按復制_破解網站禁止復制頁面內容和圖片_h5頁面長按復制

    微信里面的 版本號和 的版本號有一個對應的關系,兩者必須要匹配。

    根據報錯信息,在下面這個文件里有對應關系表:

    C:Users宋振華-.js

    其中有一行,‘2.40‘: ‘66.0.3359‘

    這表明微信的版本66.0.3359對應的應該是2.40

    這里有所有的歷史下載

    坑繼續,我下載后將原有的C:Users宋振華-.exe

    重命名成.exe,然后把下載的復制過來,運行,還是報錯??慈罩?,竟然發現2個,看來重命名不管用,把舊的移走,只留新的。

    巨坑的是,運行依然報錯,折騰了2小時,最后發現,我下載的是2.4,不是2.40,一個是版本四,一個是四十。。。

    重新下載2.40,運行通過。

    搞錯的坑:

    之前我已經看過別人的文章,微信中有很多個,做H5的話要這樣:

    在中的切換時,識別的時候, 把com..mm:tools的識別成com..mm的. 從而導致切換失敗。

    所以這里必須加上這個參數,這個是關鍵。

    [‘‘] = {‘‘: ‘com..mm:tools‘}

    我拿我們公司的H5頁面,是成功的。因為不方便展示,所以后來才換的微信公眾號文章,但是微信公眾號文章在這里是執行失敗的。報錯說H5上的元素沒找到。

    因為公司H5成功,微信公眾號文章H5失敗,所以我懷疑是不對,在執行上下文切換時,先打印出所有的上下文

    print(.)

    結果為:

    [u‘‘, u‘..mm:‘, u‘..mm:‘, u‘..mm‘, u‘..mm:tool‘]

    繼續查資料,在打開微信公眾號歷史的前提下,在CMD中輸入:

    adb shell top |

    可以看到微信的只有一個進程,pid為19295

    接著輸入:

    adb shell ps 19295

    可以看到其進程名是

    com..mm:

    所以可以看到,微信自家的H5和外鏈的H5,用的不是同一個

    h5頁面長按復制_破解網站禁止復制頁面內容和圖片_h5頁面長按復制

    我們把配置改為

    [‘‘] = {‘‘: ‘com..mm:‘}

    把切換的代碼改為

    ..(‘..mm:‘)

    搞錯的坑:

    選對了,但運行依然報錯說找不到元素。因為之前準備功課時看到有人因為不對,所以找不到元素??梢岳斫獬蒔C 上的頁簽。

    切換后,打印所有:

    hs = .

    print hs

    結果有4個:

    [u‘-‘, u‘-‘, u‘-‘, u‘-‘]

    挨個試到第3個的時候成功了

    driver.switch_to.window(hs[2]) # 轉到第3個handle
    print driver.current_url # 打印當前url
    print driver.page_source # 打印頁面頁面源碼

    恩,打開那個url就是文章導航頁面,源碼里也有相應的元素。

    然后我代碼里寫死了切第3個,即hs[2],運行又找不到元素了??拥?strong>h5頁面長按復制,原來微信H5 列表數量和位置是會變的。

    那就遍歷,哪個里面有歷史文章名‘界面通用測試用例’(頁面上可定位的元素),那就對了。

    hs = driver.window_handles
    print hs
    for handle in hs:
    driver.switch_to.window(handle)
    url = driver.current_url
    print url
    if u界面通用測試用例 in driver.page_source:
    break

    OK,上面已經能成功打開歷史文章中的第一篇,但是在點打開文章的‘在看’時,又找不到元素了,恩,我一下就想到,又打開的文章就是另一個了,如上遍歷一下,就可以找到。

    最終運行成功,演示視頻(其中有2處很慢,是在遍歷):

    全部代碼為:

    h5頁面長按復制_h5頁面長按復制_破解網站禁止復制頁面內容和圖片

    #coding=utf-8
    from appium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    import time
    import sys
    reload(sys)
    sys.setdefaultencoding(utf8)
    desired_caps = {}
    desired_caps[platformName] = Android
    desired_caps[platformVersion] = 9
    desired_caps[deviceName] = 63fa4de5
    desired_caps[appPackage] = com.tencent.mm
    desired_caps[appActivity] = .ui.LauncherUI
    desired_caps[noReset] = True
    desired_caps[chromeOptions] = {androidProcess: com.tencent.mm:toolsmp}
    driver = webdriver.Remote(http://localhost:4723/wd/hub, desired_caps)
    wait=WebDriverWait(driver, 10)
    # 打開微信需要一定時間,這里我們用顯示等待,等搜索元素出現后再獲取,后面代碼大家自行根據需要添加
    el1 = wait.until(EC.presence_of_element_located((By.ID, com.tencent.mm:id/f8y)))
    el1.click()  # 點擊搜索
    time.sleep(1)
    driver.find_element_by_id("com.tencent.mm:id/bhn").send_keys(u"測試工程師小站")  # 輸入名稱
    driver.find_element_by_id("com.tencent.mm:id/gbv").click()  # 點擊公眾號
    driver.find_element_by_id("com.tencent.mm:id/alv").click()  # 點擊一級菜單
    # 點擊二級菜單(歷史消息)
    

    h5頁面長按復制_破解網站禁止復制頁面內容和圖片_h5頁面長按復制

    el2 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ListView/android.widget.TextView[2]") el2.click() time.sleep(3) # print(driver.contexts) driver.switch_to.context(WEBVIEW_com.tencent.mm:toolsmp) # 遍歷歷史消息頁面的handle hs = driver.window_handles print hs for handle in hs: driver.switch_to.window(handle) url = driver.current_url print url if u界面通用測試用例 in driver.page_source: break driver.find_element_by_xpath(//span[@class="weui_media_hd js_media"]).click() # 點擊第一個歷史消息 time.sleep(3) # 遍歷文章頁面的handle hs = driver.window_handles print hs for handle in hs: driver.switch_to.window(handle) url = driver.current_url print url if u歷史文章推薦閱讀 in driver.page_source: break driver.find_element_by_xpath(//button[@id="js_like_btn"]).click() # 點擊在看

    ---------------------------------------------------------------------------------

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有