最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+Selenium實現(xiàn)瀏覽器標簽頁的切換

 更新時間:2022年06月09日 08:47:45   作者:渴望力量的哈士奇  
在實際工作中,我們經常會遇到頁面切換的情況。就比如當點擊了某個功能的按鈕后,瀏覽器出現(xiàn)了新的標簽頁,需要在這些標簽頁之間進行切換。本文將利用Selenium實現(xiàn)這一功能,需要的可以參考一下

在實際工作中,我們經常會遇到頁面切換的情況。就比如當點擊了某個功能的按鈕后,瀏覽器出現(xiàn)了新的標簽頁,需要在這些標簽頁之間進行切換。要如何通過 selenium 來實現(xiàn)這樣的場景呢?這就是我們今天要學習的內容。

selenium 實現(xiàn)瀏覽器標簽頁句柄的切換

瀏覽器標簽頁本地文件準備

這一段純粹是因為內容太少,拿來湊字數的...

同樣的,這里所使用的是我們本地的 multi.html 文件,點擊該文件的 “register”,會跳轉至 “www.baidu.com” 。

“multi.html” 文件的前端代碼如下:

<html>
    <head>
      <meta http-equiv="content-type" content="text/html;charset=utf-8" />
      <title>Form</title>
      <script type="text/javascript" async="" src="jquery.min.js"></script>
      <link href="bootstrap-combined.min.css" rel="external nofollow"  rel="stylesheet" />
      <script src="bootstrap.min.js"></script>
    </head>
    <body>
      <h3>simple login form</h3>
      <form class="form-horizontal">
        <div class="control-group">
          <label class="control-label" for="inputEmail">Email</label>
          <div class="controls">
            <input type="text" id="inputEmail" placeholder="Email" name="email">
          </div>
        </div>
        <div class="control-group">
          <label class="control-label" for="inputPassword">Password</label>
          <div class="controls">
            <input type="password" id="inputPassword" placeholder="Password" name="password">
          </div>
        </div>
        <div class="control-group">
          <div class="controls">
            <label class="checkbox">
              <input type="checkbox"> Remember me
            </label>
            <button type="submit" class="btn">Sign in</button>
            <a  rel="external nofollow"  target="_blank">register</a>
          </div>
        </div>
      </form>
    </body>
</html>

利用 selenium 實現(xiàn)瀏覽器頁面的切換

獲取瀏覽器標簽頁句柄方法如下:

current_window_handle 獲取當前標簽頁的句柄

window_handles 獲取所有標簽頁的句柄

代碼示例如下:

# coding:utf-8

from time import sleep
from selenium import webdriver

driver = webdriver.Chrome()     # 啟動 Chrome瀏覽器的 driver
driver.maximize_window()        # Chrome 瀏覽器最大化
driver.get('file:///Users/workspace/WEB_TEST_HTML/multi.html')   # 打開本地的 "multi.html" 文件
sleep(1)
first_window = driver.current_window_handle     # 通過 current_window_handle 屬性獲取當前標簽頁的句柄
driver.find_element_by_link_text('register').click()     # 通過 link_text 方法定位到 "register" 元素,執(zhí)行點擊操作(跳轉百度)
sleep(2)
all_windows = driver.window_handles     # 通過 window_handles 屬性獲取當前所有標簽頁的句柄
for handle in all_windows:              # for 循環(huán)判斷當前句柄是否是 first_window 句柄,如果不是則跳轉至該句柄(該句柄為百度頁面的句柄)
    if handle != first_window:
        driver.switch_to.window(handle)
        print("已跳轉至 '百度' 標簽頁的句柄")
sleep(1)
driver.find_element_by_id('kw').send_keys('渴望力量的哈士奇')    # 在百度句柄頁面的搜索框輸入要百度的內容 "渴望力量的哈士奇"
sleep(1)
driver.find_element_by_id('su').click()     # 點擊 "百度一下" 按鈕
sleep(2)
driver.switch_to.window(first_window)       # 跳轉至 "multi.html" 頁面的句柄

email_element = driver.find_element_by_xpath('//*[@id="inputEmail"]')    # 通過 xpath 定位 Email 輸入框。
email_element.send_keys('username')     # Email 輸入框輸入 "username"
sleep(1)
email_element.clear()                   # 清除 Email 輸入框內容
sleep(1)
email_element.send_keys('admin')        # Email 輸入框輸入 "admin"
driver.find_element_by_xpath('//*[@id="inputPassword"]').send_keys('123456')    # Password 輸入框輸入 "123456"
sleep(1)
driver.find_element_by_xpath('/html/body/form/div[3]/div/button').click()
sleep(1)

driver.quit()

運行結果如下:

到此這篇關于Python+Selenium實現(xiàn)瀏覽器標簽頁的切換的文章就介紹到這了,更多相關Python Selenium瀏覽器標簽頁切換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python實現(xiàn)獲取某天是某個月中的第幾周

    Python實現(xiàn)獲取某天是某個月中的第幾周

    這篇文章主要介紹了Python實現(xiàn)獲取某天是某個月中的第幾周,本文代碼實現(xiàn)獲取指定的某天是某個月中的第幾周、周一作為一周的開始,需要的朋友可以參考下
    2015-02-02
  • python讀取測試數據的多種方式

    python讀取測試數據的多種方式

    本文主要介紹了python讀取測試數據的多種方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • pip安裝python庫的方法總結

    pip安裝python庫的方法總結

    在本篇文章里小編給大家分享了關于使用pip安裝python庫的幾種常用方法,有需要的朋友們可以參考下。
    2019-08-08
  • 用Python將一個列表分割成小列表的實例講解

    用Python將一個列表分割成小列表的實例講解

    今天小編就為大家分享一篇用Python將一個列表分割成小列表的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python批量制作雷達圖的實現(xiàn)方法

    python批量制作雷達圖的實現(xiàn)方法

    本文通過實例代碼介紹了如何用python批量制作雷達圖的實現(xiàn)方法,下面一起來看看如何實現(xiàn)的。
    2016-07-07
  • 在OpenCV里實現(xiàn)條碼區(qū)域識別的方法示例

    在OpenCV里實現(xiàn)條碼區(qū)域識別的方法示例

    這篇文章主要介紹了在OpenCV里實現(xiàn)條碼區(qū)域識別的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Python操作excel的方法總結(xlrd、xlwt、openpyxl)

    Python操作excel的方法總結(xlrd、xlwt、openpyxl)

    這篇文章主要給大家介紹了關于Python操作excel的一些方法,其中包括xlrd、xlwt、openpyxl的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • 淺談Tensorflow模型的保存與恢復加載

    淺談Tensorflow模型的保存與恢復加載

    本篇文章主要介紹了淺談Tensorflow模型的保存與恢復加載,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 利用Python中的內置open函數讀取二進制文件

    利用Python中的內置open函數讀取二進制文件

    這篇文章主要介紹了利用Python實現(xiàn)讀取二進制文件,文章嘗試使用Python中的內置open函數使用默認讀取模式讀取zip文件,下文詳細介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Python兩個內置函數 locals 和globals(學習筆記)

    Python兩個內置函數 locals 和globals(學習筆記)

    這篇文章主要介紹了Python兩個內置函數 locals 和globals(學習筆記),需要的朋友可以參考下
    2016-08-08

最新評論

合江县| 山东| 清丰县| 灌南县| 道孚县| 朝阳县| 华容县| 永仁县| 元朗区| 大石桥市| 伊金霍洛旗| 乳山市| 神木县| 彰化县| 丰台区| 手游| 巴楚县| 卓尼县| 镇巴县| 麻江县| 沙坪坝区| 大足县| 大港区| 扎囊县| 礼泉县| 韶关市| 辉县市| 舒城县| 赤峰市| 略阳县| 武乡县| 富源县| 宜城市| 宿州市| 黔南| 乃东县| 新源县| 资阳市| 福建省| 怀柔区| 游戏|