午夜勾魂曲-午夜福利自怕-午夜福利在线观看6080-午夜福利院电影-国产精品毛片AV久久97-国产精品麻豆高潮刺激A片

關于Python+selenium 定位瀏覽器彈窗元素

2018-9-11    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

我也是剛學自動化,在自學過程中發現瀏覽器中有一些彈窗元素,無法定位。經過自己的摸索,有一些心得,寫下來供日后自己回顧。
首先要確定彈窗的類型:
(1)div彈窗
(2)新標簽頁彈窗
(3)alert彈窗 
    
  • 1
  • 2
  • 3
  • 4
  • 5

一,div彈窗 
div彈窗是瀏覽器中比較好定位的彈窗,定位的方法與普通的元素一樣。不過這里會有一個坑,明明可以找到這個按鈕,但是就是定位不到。這個就是因為當前有div彈窗彈出的時候,需要設置一下等待時間,等頁面元素加載完畢,再去做其他操作。 
這里用百度登陸為例子:

from selenium import webdriver import time def login_baidu(url,username,password): driver.get(url)
    driver.find_element_by_xpath('//*[@id="u1"]/a[7]').click()
    time.sleep(2)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__footerULoginBtn"]').click()
    time.sleep(2) # 彈窗出現后,使頁面等待2S login_username = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__userName"]')
    login_username.click()
    login_username.send_keys(username)

    login_passwork = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__password"]')
    login_passwork.click()
    login_passwork.send_keys(password)

    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__submit"]').click() # 登陸按鈕 if __name__ == "__main__":
    driver = webdriver.Firefox()
    username = r'xxx@qq.com' password = r'xxxx' url = r'https://www.baidu.com' login_baidu(url,username,password) 
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

二,新標簽頁彈窗 
新標簽頁彈窗,則需要進行窗口的切換。此處第一個窗口打開百度首頁,在打開一個新窗口打開京東首頁,在兩個窗口之間進行切換。切換到不同的窗口之后,就可以用常規的方法進行元素的定位。

from selenium import webdriver import time def open_window1(): driver.get("https://www.baidu.com")
   time.sleep(2) def open_window2(): # 用JS的方法打開新窗口,模擬新標簽頁彈窗 js = "window.open('https://www.jd.com')" driver.execute_script(js)
    time.sleep(2) def Switch_Window(): handles = driver.window_handles
    print("打印當前已打開的窗口:"+str(handles)) while(5): # 在兩個窗口之間做五次切換動作 driver.switch_to.window(handles[0])
        time.sleep(5)
        driver.switch_to.window(handles[1])
        time.sleep(5) if __name__ == "__main__" :
    driver = webdriver.Firefox()
    open_window1()
    open_window2()
    Switch_Window() 
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
handles = driver.window_handles # 獲取當前打開的所有窗口的句柄
driver.switch_to.window(handles[N]) # 切換到其中一個窗口
其中,獲取的句柄下標從0開始,即第一個窗口為[0]、第二個窗口為[1],如此類推。使用switch_to.window方法切換到新標簽頁后就可以做其他操作了。 
    
  • 1
  • 2
  • 3

三、alert彈窗 
該類型的彈窗暫沒有合適的項目進行練習,待后續完善

藍藍設計www.gerard.com.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。

日歷

鏈接

個人資料

藍藍設計的小編 http://www.gerard.com.cn

存檔

主站蜘蛛池模板: 国产一区二区免费在线观看 | 国产免费午夜高清 | 国产亚洲精品久久7777777 | 一本之道高清www在线观看 | 亚洲欧美日韩一级特黄在线 | 天天躁日日躁狠狠躁午夜剧场 | 亚洲成人免费 | 老师的丝袜脚 | 99热这里只有精品视频2 | 男男腐文污高干嗯啊快点1V1 | 久久99AV无色码人妻蜜 | 俺来也俺去也视频久久 | 麻豆精品无码久久久久久久久 | 一本之道高清在线观看一区 | 亚洲国产精品第一影院在线观看 | 国产一区日韩二区欧美三区 | 97免费人妻在线观看 | 一个人免费播放高清在线观看 | 超碰97人人做人人爱少妇 | 小777论坛 | 久久综合色超碰人人 | 粉嫩自拍 偷拍 亚洲 | 国产在线一区二区AV视频 | 国产亚洲日韩另类在线播放 | 国产成人免费高清激情视频 | 国产成人啪精视频精东传媒网站 | 午夜福利免费视频921000电影 | 迈开腿让我看下你的小草莓声音 | 日本无码人妻丰满熟妇5G影院 | 嫩草成人国产精品 | aaaaaa级特色特黄的毛片 | 日韩性xxx| 亚洲日韩天堂在线中文字幕 | 99久久久国产精品免费蜜臀 | 亚洲中文字幕无码爆乳APP | 国产精品久久久久久人妻香蕉 | 嘟嘟嘟在线视频免费观看高清中文 | 亚洲第一页在线播放 | 老师别揉我胸啊嗯小说 | 小泽玛丽av无码观看 | 啦啦啦视频在线观看WWW |