簡體   English   中英

切換到附加彈出窗口 window 接口 selenium python

[英]switch to add-on pop-up window interface selenium python

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

正如您通常看到的那樣,當我們單擊附加圖標時,它會創建一個“彈出窗口”或“窗口”,實際上是另一個 html 文件,正如我所證明的那樣,沒有體現在主 html 中。 我想知道如何在不使用 pyautogui 和圖像檢測的情況下從主選項卡切換到附加界面並處理它(如單擊按鈕等):這太容易了;)

我猜你在談論框架。 框架是 web 頁面或瀏覽器 window 的一部分,它顯示獨立於其容器的內容,具有獨立加載內容的能力(來源: https_(World_Wide_Web)

您可以使用以下命令切換到另一個幀:

driver.switch_to.frame()

作為 frame() function 的參數,您有 3 個選項:框架索引(0、1、2 等)、名稱(開發人員為框架提供的 id 或 webelement(即該框架中的唯一元素,您可以通過以下方式找到所有其他元素:

driver.switch_to.frame(driver.find_element_by_...)

我希望我有所幫助:)

我不確定如何僅使用 Selenium 在 Chrome 上單擊附加圖標。 實際上,我認為chromedriver沒有提供一些點擊chrome工具欄的方法,所以也許你不能編寫代碼來做到這一點。

但是,還有另一種可行的方法。

  • 右鍵單擊插件圖標
  • Select 最后一個選項Manage extensions在列表中,打開一個新選項卡,其中包含 url 像這樣chrome://extensions/?id=cfhdojbkjhnklbpkdaibdccddilifddb
  • 或者,列表中的 Select Options ,打開一個新選項卡,url 像這樣chrome-extension://cfhdojbkjhnklbpkdaibdccddilifddb/options.html

在此處輸入圖像描述

換句話說,所有的 Chrome 擴展配置頁面實際上都是 HTML 頁面。 因此,您可以直接打開配置頁面,然后單擊按鈕或執行其他操作。

extensionManagePage = "chrome://extensions/?id=cfhdojbkjhnklbpkdaibdccddilifddb";
driver.get(extensionManagePage);

// or

extensionOptionsPage = "chrome-extension://cfhdojbkjhnklbpkdaibdccddilifddb/options.html";
driver.get(extensionOptionsPage);

// click button etc.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM