<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 關于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彈窗 
          該類型的彈窗暫沒有合適的項目進行練習,待后續完善

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

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          久久福利片| 久久91精品国产91久久户| 久久人妻少妇嫩草AV蜜桃| 久久天天躁狠狠躁夜夜不卡| 中文字幕精品久久| 国产精品久久久久影视不卡| 久久国产成人精品麻豆| 欧美日韩成人精品久久久免费看| 亚洲精品乱码久久久久久| 久久久久久九九99精品| 久久久精品视频免费观看| 亚洲国产天堂久久综合| 99久久久精品| 国产精品久久久久久久久软件 | 久久99国产精品二区不卡| 亚洲AV伊人久久青青草原| 欧美综合天天夜夜久久| 777午夜精品久久av蜜臀| 久久久久久久久久久免费精品| 久久精品人人槡人妻人人玩AV | 999久久久无码国产精品| 模特私拍国产精品久久| 狠狠精品干练久久久无码中文字幕| 亚洲精品美女久久久久99| 亚洲AⅤ优女AV综合久久久| 久久久久久极精品久久久| 国内精品久久久久影院网站| 久久久中文字幕| 69久久精品无码一区二区| 久久久久亚洲AV成人片| 亚洲综合熟女久久久30p| 久久久久久久波多野结衣高潮| 一本久久免费视频| 亚洲国产日韩欧美久久| 久久午夜夜伦鲁鲁片免费无码影视 | 久久久久久毛片免费播放| 亚洲狠狠婷婷综合久久蜜芽| 日本WV一本一道久久香蕉| 久久久久久曰本AV免费免费| 亚洲国产另类久久久精品| 男女久久久国产一区二区三区 |