前言
web自动化中,常见的场景还有一个下拉框的选择,哪么在selenium中如何做下拉框的操作呢?
select
select在HTML中表示元素名,可创建单选或多选菜单。
HTML中select长什么样子:
select在HTML中元素名,下面有选择操作,选择内容在select中包含
<body> <form> <center> <selectname="anjing"> <optionvalue="boke">请关注安静博客option> <optionvalue="study">今天学习了吗?option> <optionvalue="daily">今天看安静博客了吗?option> <optionvalue="like">点赞了吗?option> <optionvalue="attention">关注了吗?option> center> select> form> body> html><html>
select操作方法
selenium中想要操作下拉框需要导入新的模块from selenium.webdriver.support.select import Select
Select有以下操作方法:
小试牛刀
方法也认识了,select也知道是什么样子的了,那么我们开始进行操作
1、想要操作select,首先定位到select上,然后进行实例化
2、通过Select进行通过下标,value,text进行定位下拉框
3、加入判断预期值是否切换到下拉框中
fromselenium.webdriver.support.waitimportWebDriverWait fromselenium.webdriver.supportimportexpected_conditionsasEC fromselenium.webdriver.support.selectimportSelect mon.byimportBy importtime driver=webdriver.Chrome() path=r'E:\web\select.html' driver.get(path) #通过显示等待的方法判断元素是否出现 WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.NAME,"anjing"))) select=driver.find_element_by_name('anjing') #根据下标进行选择,从0开始 Select(select).select_by_index(1) time.sleep(2) #根据value的值选择 Select(select).select_by_value('daily') time.sleep(2) #根基text选择 Select(select).select_by_visible_text('关注了吗?') time.sleep(2) #判断选择是否预期 WebDriverWait(driver,20).until(EC.element_located_to_be_selected((By.XPATH,'//*[contains(text(),"关注了")]')))fromseleniumimportwebdriver
展示图:
这里安静主要通过一个小的例子,然后如何通过Selenium操作下拉框的小案例。这里安静提示大家,如果遇到哪些没有见过的库,可以去看看源码,其实源码中已经写的很清楚了。
这里安静写的文章如果对您有帮助,点个关注,持续更新。不懂的或者写错的地方,可以下方留言。