zoukankan      html  css  js  c++  java
  • 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条

  • 相关阅读:
    学生数据增删改查--顺序表
    应用3+2mvc第一次作业
    双色球随机选【代码】
    字符串穷举
    使用nuget发布自己的包
    VS CODE中配置JAVA格式化细节
    反射的理解(含一点xml)
    UdpClient实现udp消息收发
    c#背包问题代码
    利用TcpClient,简单的tcp消息收发
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12038024.html
Copyright © 2011-2022 走看看