Selenium4自動化測試7--控制元件獲取資料--radio單選框、select下拉框選擇、iframe

万笑佛發表於2024-05-15

系列導航

一、Selenium4自動化測試1--Chrome瀏覽器和chromedriver

二、Selenium4自動化測試2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME

三、Selenium4自動化測試3--元素定位By.NAME,By.LINK_TEXT 和透過連結部分文字定位,By.PARTIAL_LINK_TEXT,css_selector定位,By.CSS_SELECTOR

四、jSelenium4自動化測試4--元素定位By.XPATH,元素定位最佳順序

五、Selenium4自動化測試5--控制元件獲取資料--ALERT彈窗、Confirm彈窗、Prompt彈窗

六、Selenium4自動化測試6--控制元件獲取資料--下拉框級聯選擇、checkbox選擇、時間選擇器

七、Selenium4自動化測試7--控制元件獲取資料--radio單選框、select下拉框選擇、iframe

八、Selenium4自動化測試8--控制元件獲取資料--上傳、下載、https和切換分頁

7- radio單選框

import time

from selenium import webdriver
from selenium.webdriver.common.by import By
# 定義一個driver的變數,用來接收例項化後的瀏覽器
# 指定瀏覽器的位置,解決瀏覽器驅動和瀏覽器版本不匹配的問題
chrome_location = r'D:\pythonProject2023\SeleniumFirst\chrome-win64\chrome.exe'
options = webdriver.ChromeOptions()
options.binary_location = chrome_location
driver = webdriver.Chrome(options=options)
# 使用get方法,訪問網址
driver.get('https://www.iviewui.com/view-ui-plus/component/form/radio')
#視窗最大化
driver.maximize_window()
#1 找到輸入框的位置,輸入萬笑佛部落格園
driver.find_elements(By.XPATH,'//input[@class="ivu-radio-input" and @type="radio"]')[1].click()
time.sleep(3)
driver.find_elements(By.XPATH,'//input[@class="ivu-radio-input" and @type="radio"]')[2].click()
time.sleep(3)
driver.find_elements(By.XPATH,'//input[@class="ivu-radio-input" and @type="radio"]')[3].click()

driver.find_element(By.XPATH,'//span[text()="Android"]').click()


time.sleep(3)
driver.quit()

8-select下拉框選擇

import time
from selenium.webdriver.support.select import Select
#pip install selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
# 定義一個driver的變數,用來接收例項化後的瀏覽器
# 指定瀏覽器的位置,解決瀏覽器驅動和瀏覽器版本不匹配的問題
chrome_location = r'D:\pythonProject2023\SeleniumFirst\chrome-win64\chrome.exe'
options = webdriver.ChromeOptions()
options.binary_location = chrome_location
driver = webdriver.Chrome(options=options)
# 使用get方法,訪問網址
driver.get("https://sahitest.com/demo/selectTest.htm")
#視窗最大化
driver.maximize_window()
time.sleep(1)
select = Select(driver.find_element(By.ID,'s1'))
#根據index下標獲取
select.select_by_index(1)
#根據value獲取
#select.select_by_value("48")
#根據看到的內容選擇
#select.select_by_visible_text("Cell Phone")
time.sleep(3)
driver.quit()

9-iframe

import time
from selenium.webdriver.support.select import Select
#pip install selenium
from selenium import webdriver
from selenium.webdriver.common.by import By


# 定義一個driver的變數,用來接收例項化後的瀏覽器
# 指定瀏覽器的位置,解決瀏覽器驅動和瀏覽器版本不匹配的問題
chrome_location = r'D:\pythonProject2023\SeleniumFirst\chrome-win64\chrome.exe'
options = webdriver.ChromeOptions()
options.binary_location = chrome_location
driver = webdriver.Chrome(options=options)
#視窗最大化
driver.maximize_window()

driver.get("https://sahitest.com/demo/iframesTest.htm")
driver.find_element(By.ID,"checkRecord").clear()
driver.find_element(By.ID,"checkRecord").send_keys("666")
time.sleep(3)
#用下標 進入iframe
driver.switch_to.frame(0)
#iframe 如果有id和name 可以用id和name獲取
#by ID Name  id=iframe_id   Name=iframe_name
# driver.switch_to.frame("iframe_id")
# driver.switch_to.frame("iframe_name")
#driver.find_element(By.CSS_SELECTOR,'a[href="linkTest.htm"]').click()
driver.find_element(By.ID,'open-self').click()

# 退出iframe
driver.switch_to.parent_frame()
driver.find_element(By.ID,"checkRecord").clear()
driver.find_element(By.ID,"checkRecord").send_keys("7777")
time.sleep(3)
driver.quit()

相關文章