下拉框+彈窗的處理


下拉框+彈窗處理

一、下拉框

針對下拉框,selenium提供了Select類來處理

from selenium.webdriver.support.select import Select

1、實例化下拉框

  1. 定位到下拉框
rp = chrome.find_element_by_name('rp')
  1. 實例化Select類
select = Seletc(rp)

2、定位

  • 索引(從0開始)定位(select_by_index())
#定位到下拉框的第3個元素
select.seletc_by_index(2)
  • value定位(select_by_value())
#定位到下拉框value='25'的元素
select.seletc_by_value(‘25’)
  • 文本定位(select_by_visible_text())
#定位到下拉框文本為’30‘的元素
select.select_by_visible_text(‘30’)

二、彈窗

針對彈窗,selenium提供了Alert類來處理

from selenium.webdriver.common.alert import Alert

1、告警框

使用accept()確認

#!/usr/bin/python3
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.alert import Alert
import time

chrome = webdriver.Chrome()
chrome.maximize_window()
chrome.get('https://www.baidu.com')
shezhi = chrome.find_element_by_id('s-usersetting-top')
ActionChains(chrome).move_to_element(shezhi).perform()
chrome.find_element_by_link_text('搜索設置').click()
time.sleep(2)
chrome.find_element_by_link_text('保存設置').click()
#獲取告警框內容
test = chrome.switch_to_alert().text
print(test)
#點擊彈框中的確認
chrome.switch_to_alert().accept()

time.sleep(3)

結果:
已經記錄下您的使用偏好

2、確認框

使用accept()確認,使用dismiss()拒絕

#!/usr/bin/python3
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.alert import Alert
import time

chrome = webdriver.Chrome()
chrome.maximize_window()
chrome.get('https://www.w3school.com.cn/tiy/t.asp?f=js_confirm')
chrome.switch_to_frame('iframeResult')
chrome.find_element_by_xpath('/html/body/button').click()
#獲取確認框內容
test = chrome.switch_to_alert().text
print(test)

#點擊確認
# chrome.switch_to_alert().accept()

#點擊拒絕
chrome.switch_to_alert().dismiss()

time.sleep(3)

結果:
Press a button!

3、消息對話框

使用send_keys()在消息對話框輸入內容

#!/usr/bin/python3
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.alert import Alert
import time

chrome = webdriver.Chrome()
chrome.maximize_window()
chrome.get('https://www.w3school.com.cn/tiy/t.asp?f=js_prompt')
chrome.switch_to_frame('iframeResult')
chrome.find_element_by_xpath('/html/body/button').click()
#獲取消息框內容
# test = chrome.switch_to_alert().text
# print(test)

#消息框里輸入內容
chrome.switch_to_alert().send_keys('靜心得意')
# 確認
chrome.switch_to_alert().accept()

time.sleep(3)

結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM