selenium常用操作之下拉框操作

2022-07-27 19:06:11 字數 2705 閱讀 4323

下拉框操作:

一般下拉框適用場景:在新增時有下拉框選項,在二級聯動或多級聯動有下拉(比如:在選擇省市縣時的多級聯動下拉、日期控制項等)。

一般下拉框功能有以下兩個:

1.選單欄-點選其中的某個鏈結跳轉

2.對下拉列表的元素進行操作。

下拉框選擇都有select的標籤屬性,存在兩個屬性select和option。有的呈現的是下拉框樣式但沒有select屬性的比如說或ul/li。

思路:

1.等待下拉列表和下拉列表出現

2.對下拉列表的元素進行操作

下拉框操作流程:

1.獲取所有的下拉列表值,然後用迴圈去匹配相同的值;

2.通過text的內容來找到下拉列表的某個值

示例**:

#

等待下拉框元素出現後點選

webdriverwait(driver,10).until(ec.visibility_of_element_located((by.xpath,'

//a[contains(text(),"課程")]

')))

driver.find_element_by_xpath(

'//a[contains(text(),"課程")]

').click()

3.如果是select/option組合,則可以使用select類來處理。

示例**:

from selenium.webdriver.common.action_chains import actionchains

#1.例項化滑鼠類

ac=actionchains(driver)

#2.呼叫各種滑鼠行為後,呼叫perform()來執行

ac.move_to_element_with_offset(driver.find_element_by_xpath('//div[@id="u"]/*[@name="tj_login"]')).perform()

from selenium.webdriver.support.ui import select

#1.例項化select類

select=select(driver.find_element_by_id("su"))

#2.根據下標來選擇

select.select_by_index(2)

#3.根據option的value值來選擇

select.select_by_visible_text("高階搜尋")

其型別有:

①單選下拉框,可以選擇乙個元素。

②多選下拉框,可以選擇多個元素。

定位方法:

①直接定位

②二次定位。先定位到select框,再定位到select選項。

③匯入select模組(推薦使用) -- 根據屬性或者索引來定位。

先要匯入select方法     from selenium.webdriver.support.ui import select 。

然後通過索引:s = driver.find_element_by_id('nr')

select(s).select_by_index(2)

通過value值定位:s = driver.find_element_by_id('nr')

select(s).select_by_value('20')

通過text值來定位:s = driver.find_element_by_id('nr')

select(s).select_by_visible_text('寶馬')

下面附上ms.html**截圖:

通過selenium實現:

import time 

from selenium import webdriver

from selenium.webdriver.support.ui import select    # 匯入select模組

# 指定驅動

driver = webdriver.chrome(r"c:\webdriver\chromedriver.exe")

# 開啟**

driver.get('file:///c:/users\administrator/pycharmprojects/1120/web_driver/lesson3/ms.html')

# 獲得相應的webelement

select = select(driver.find_element_by_id('multi'))

# 先取消所有選擇的選項

select.deselect_all()

# 根據text值定位

select.select_by_visible_text('雅閣')

select.select_by_visible_text('寶馬 740')

# 獲得相應的webelement

select = select(driver.find_element_by_id('single'))

# 根據value值定位

select.select_by_value('male')

driver.quit()

selenium之 下拉選擇框Select

下拉列表操作中分為兩種 select 非select 1 非select的下拉框操作 非select下拉列表操作與網頁元素操作一致,找到元素,定位元素,設定等待,點選元素等等 舉個栗子 from selenium import webdriver from selenium.webdriver.su...

selenium之 下拉選擇框Select

我們通常會遇到兩種下拉框,一種使用的是html的標籤select,另一種是使用input標籤做的假下拉框。後者我們通常的處理方式與其他的元素類似,點選或使用js等。而對於前者,selenium給了有力的支援,就是select類。我們要進行試驗的 網頁與原始碼截圖如下 你可以用以下方式匯入 from ...

selenium中的元素操作之下拉列表操作(四)

下拉列表操作中分為兩種 select 非select 1 非select的下拉框操作 非select下拉列表操作與網頁元素操作一致,找到元素,定位元素,設定等待,點選元素等等 舉個栗子 from selenium import webdriver from selenium.webdriver.su...