1. 背景
- 一部のページにポップアップボックスがあり、対処しないとその後の操作ができなくなります
2. ポップアップウィンドウの分類
2.1 警告プロンプトのポップアップウィンドウ
- [説明]: プロンプト情報と[確認]ボタンが含まれます
- 【操作】: 1. ポップアップウィンドウの内容を取得します; 2. 「確認」操作を実行します
- 【文法の実現】
-
- 1. ポップアップ ウィンドウの内容を取得します。
driver.switch_to.alert.text
-
- 2. 確認操作を実行します。
driver.switch_to.alert.accept()
- 【コード】
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
element1 = driver.find_element(By.CSS_SELECTOR, '#s-usersetting-top')
ActionChains(driver).move_to_element(element1).perform()
driver.find_element(By.LINK_TEXT, '搜索设置').click()
element2 = WebDriverWait(driver, 2, 0.5).until(EC.presence_of_element_located((By.LINK_TEXT, '保存设置')), "保存设置元素定位不到")
element2.click()
time.sleep(2)
driver.implicitly_wait(2)
print(driver.switch_to.alert.text)
driver.switch_to.alert.accept()
driver.quit()
2.2 確認ポップアップウィンドウ
- [説明]: プロンプト情報と [確認] [キャンセル] ボタンが含まれます
- 【操作】: 1. ポップアップウィンドウの内容を取得; 2. 「確認」操作を実行; 3. キャンセル操作を実行
- 【文法の実現】
-
- 1. ポップアップ ウィンドウの内容を取得します。
driver.switch_to.alert.text
-
- 2. 確認操作を実行します。
driver.switch_to.alert.accept()
-
- 3. キャンセル操作を実行します。
driver.switch_to.alert.dismiss()
2.3 情報入力プロンプトポップアップウィンドウ
- [説明]: プロンプト情報、入力情報ボックス、[確認] [キャンセル] ボタンが含まれます。
- [操作方法]: 1. ポップアップウィンドウの内容を取得する; 2. 入力ボックスに情報を入力する; 3. 「確認」操作を実行する; 4. キャンセル操作を実行する
- 【文法の実現】
-
- 1. ポップアップ ウィンドウの内容を取得します。
driver.switch_to.alert.text
-
- 2. 入力ボックスに情報を入力します。
driver.switch_to.alert.send_keys()
-
- 3. 動作を確認します。
driver.switch_to.alert.accept()
-
- 4. キャンセル操作を実行します。
driver.switch_to.alert.dismiss()