python+selenium下拉列表option对象操作方法二

options = driver.find_elements_by_tag_name('option')                               #获取所有的option子元素

options[2].click()                                                                                                  #获取第三个元素

for i in range(len(options)):                                        #选择value值为python的子项

    if options[i].get_attribute('value') == 'python':

       options[i].click()

       break

for i in range(len(options)):                        #选择text值为python的子项

       if options[i].text == 'python':

          options[i].click()

          break


for i in range(len(options)):


       if options[i].get_attribute('selected'):

              print options[i].get_attribute('text')              #返回当前被选子项的text内容

             print options[i].get_attribute('value')            #返回当前被选子项的value内容

             break




===========================================================================================



from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep

driver = webdriver.Firefox()
driver.get('http://www.baidu.com')

#--------------------------------------------------------------------------------------

link = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(link).perform() #鼠标悬停在上面
sleep(2)


driver.find_element_by_class_name("setpref").click() # 打开搜索设置
sleep(2)
#--------------------------------------------------------------------------------------------------

options = driver.find_elements_by_xpath('//*[@id="nr"]/option')

options[1].click() #第二个子项被选中
sleep(2)

options[2].click() #第三个子项被选中
sleep(2)

options[0].click() #第一个子项被选中
sleep(2)

#-----------------------------------------------------------------------

print(options[0].text)
print(options[1].text)
print(options[2].text)

#----------------------------------------------------------------------------

print('----------------------001')

for i in range(len(options)): #选择value值为python的子项

if options[i].get_attribute('value') == '20' :

options[i].click()
print(options[i].text)

break

#----------------------------------------------------------------------------


driver.quit()


执行结果:


每页显示10条
每页显示20条
每页显示50条
----------------------001
每页显示20条

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12038024.html