系列導航
一、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()