• 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条

  • 相关阅读:
    nginx接收tcp请求转发server
    eclipse 配置github 提交代码
    eclipse安装JDK11
    java内存管理
    进程 线程 纤程 中断
    DCL单例为什么要加volatile
    如何清理history
    后置引用
    nc 工具使用
    ip_local_port_range 和 ip_local_reserved_ports
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12038024.html
Copyright © 2020-2023  润新知