Python Automated Test Series [v1.0.0] [Processing drop-down menu]

Selenium provides 3 methods for selecting the options in the drop-down menu, and then encapsulates and calls these three methods respectively.

Method encapsulation

from selenium.webdriver.support.select import Select
def select_by_index(self, element, index):
    """
    通过下拉菜单的索引,完成对选项的选择
    :param element:
    :param value:
    :return:
    """
    Select(element).select_by_index(index)
def select_by_value(self, element, value):
    """
    通过选项值,完成对选项的选择
    :param element:
    :param value:
    :return:
    """
    Select(element).select_by_value(value)
def select_by_text(self, element, text):
    """
    通过选项的文本,完成对选项的选择
    :param element:
    :param text:
    :return:
    """
    Select(element).select_by_visible_text(text)

Method call

def test_select(self):
    chrome_driver = webdriver.Chrome()
    chrome_driver.get("http://www.baidu.com")
    chrome_driver.implicitly_wait(30)
    mouse = chrome_driver.find_element_by_link_text("设置")
    ActionChains(chrome_driver).move_to_element(mouse).perform()
    chrome_driver.find_element_by_link_text("搜索设置").click()
    time.sleep(5)
    chrome_driver.find_element_by_name("NR").click()
    time.sleep(5)
    select = chrome_driver.find_element_by_name("NR")
    Browser_Controller(chrome_driver).select_by_value(select, "20")
    time.sleep(5)
    Browser_Controller(chrome_driver).select_by_index(select, 1)
    time.sleep(5)
    Browser_Controller(chrome_driver).select_by_text(select, "每页显示50条")
    time.sleep(5)

Method extension

In fact, Selenium provides not only three methods for encapsulating drop-down menu options, but also the method for canceling option selection as shown below

deselect_by_index(index)  # 根据索引取消选择
deselect_by_value(value)  # 根据value取消选择 
deselect_by_visible_text(text)  # 根据文本取消选择 
deselect_all()  # 取消所有选择
Published 231 original articles · praised 188 · 120,000 views

Guess you like

Origin blog.csdn.net/dawei_yang000000/article/details/105648622