中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python + selenium 跳坑之旅 (第一彈)

發布時間:2020-07-10 11:46:47 來源:網絡 閱讀:877 作者:809647468 欄目:軟件技術

哪怕你再精通selenium,陪伴測試人員最多的還是定位問題。


第一個坑:

    要定位的頁面,出現html嵌套,也就是ifrmae。在html代碼頁面很直觀的就能發現這個東西。實際就是在一個頁面中引用了一個子頁面。這樣造成我們再用xpath或者css定位的時候直接找不到元素。這個時候我們需要用到一個新的東西來為她定位,其思路大體為:第一步,從父頁面切換至子頁面;第二步,在子頁面定位元素;第三步,返回父頁面(這個看個人需要,具體留在哪里需要結合實際)。

    第一步的實現需要用到一個方法:switch_to_frmae。具體用法可以參考代碼。在此,我必須提醒大家一句,switch_to_frmae不一定管用,因為版本問題,可能會需要變為switch_to.frmae。一個‘_’,一個‘.’,這個坑我爬了好久啊。

    第二步就相對簡單了,我們可以用firebug復制xpath或者css路徑就可以了。值得注意的是,這次的路徑是從子頁面開始的,與父頁面毫無關系,如果你想用id,class等等定位,應該也是可以的(當然我沒試過,我對這句不負責)。

    第三步,返回,當我們不需要在這個子頁面中進行定位的時候需要退出,這要一個新的方法,

switch_to.default_content()。具體內容可以百度或者參照我的代碼貼圖。
    至此,第一個坑跳出。
    
    定位元素時,一定要注意element還是elements,一個單數,一個復數,意義真是差別太大了。當你find_element_by_id('p')只是一個id = ‘p’的元素,find_elements_by_id('p')的時候其實是一堆id = 'p'組成的列表。切記自己想要一個還是多個元素,切記切記。
    我貼的代碼,是我測試賬號密碼登錄qq郵箱時候的問題,這次問題不在代碼,可能是因為網絡或者其他什么原因的問題,當我定位到qq郵箱‘登錄’按鈕時候,click()一直出現‘服務器繁忙的字樣’,開始我認為是點擊太快,我設置time.sleep(3)后依然如此(隱形等待我沒有試,不過有興趣的同學可以試試),為了解決這個問題,無奈的我只能先click(),再time.sleep(3)后,再click(),居然奇跡般的成功了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开化县| 凤凰县| 精河县| 乐清市| 乐陵市| 芦溪县| 乌审旗| 洱源县| 成武县| 正蓝旗| 谷城县| 东乌珠穆沁旗| 民丰县| 罗定市| 陈巴尔虎旗| 伊通| 大丰市| 宣恩县| 英德市| 贺兰县| 玉龙| 阿拉善左旗| 西平县| 南部县| 错那县| 化隆| 鹤岗市| 海城市| 无极县| 福海县| 蓬安县| 红安县| 莱阳市| 丰宁| 连平县| 浮山县| 乐都县| 阳山县| 塔河县| 新闻| 仙游县|