• 从0开始python学习-25.selenium 下拉框、滚动、警告框、设置cookie信息


    1. 下拉框操作:需要对选择框进行定位操作必须创建一个选择框对象进行使用,使用步骤:
        . 首先需要通过Select类创建select对象
        . 通过select对象去选中下拉框元素的具体内容
        . 通过索引(下标)选择
        . 通过文本内容选择
        . 通过value属性选择
    2. 滚动操作: 通过JavaScript脚本去执行滚动操作
        . 首先定义一个滚动的js脚本
        . 然后执行脚本
    3. 警告框操作
    4. 设置cookie信息
    1. from time import sleep
    2. from selenium import webdriver
    3. from selenium.webdriver.common.by import By
    4. from selenium.webdriver.support.select import Select
    5. driver = webdriver.Chrome()
    6. # 下拉、告警
    7. url1 = "file:///D:/study/%E8%AF%BE%E5%A0%82%E8%B5%84%E6%96%99/14%E6%B3%A8%E5%86%8CA.html"
    8. driver.get(url1)
    9. # 滚动
    10. # url2 = 'https://tieba.baidu.com/index.html'
    11. # driver.get(url2)
    12. driver.maximize_window ()
    13. # 下拉框
    14. # 选中需要下拉的元素
    15. select = Select(driver.find_element(By.XPATH,'//*[@id="selectA"]'))
    16. select.select_by_index(3) # 通过下标进行选择
    17. sleep(2)
    18. select.select_by_visible_text('A上海') # 通过文本内容进行选择
    19. sleep(2)
    20. select.select_by_value('gz') # 通过value属性进行选择
    21. # 滚动
    22. sleep(2)
    23. # 先定义一个滚动的js脚本
    24. js_str = "window.scrollTo(0,100000)"
    25. # 然后调用js执行脚本方法:execute_script()
    26. driver.execute_script(js_str)
    27. # 告警框
    28. # 获取警告框
    29. driver.find_element(By.XPATH,'//*[@id="alerta"]').click()
    30. # 切换到警告框
    31. alert1 = driver.switch_to.alert
    32. # 获取警告框的提示信息
    33. print(alert1.text)
    34. sleep(2)
    35. # 通过确定方式关闭警告框
    36. alert1.dismiss()
    37. # 通过取消的方式关闭警告框
    38. alert1.accept()
    39. # 针对特殊特殊场景输入警告框可以直接通过警告框对象send_keys("密码")
    40. alert1.send_keys("密码")
    41. # 设置cookie信息
    42. # 给页面添加cookie信息
    43. driver.add_cookie(
    44. {"name": "cookie", "value": "5uq8r6vsc1scn86jdvo352c333"}
    45. )
    46. sleep(2)
    47. # 一定要进行页面刷新,因为要清除缓存
    48. driver.refresh()
    49. sleep(5)
    50. # 关闭整个浏览器:quit()
    51. driver.quit()

  • 相关阅读:
    使用wget命令报错:Issued certificate has expired(颁发的证书已经过期)
    MySQL索引
    深入理解MySQL数据库(Innodb存储引擎)
    肝内胆管结石带来的五大危害
    elasticsearch常用命令
    OA系统登录界面(比较好看)
    win10系统盘制作和 ubuntu 20 装机体验之旅: Nouveau 禁用、Cuda安装
    组件间的通讯方式
    精密空调里面kfb和kfd、kfc 三块pcb板子都负责什么功能?
    easy_see
  • 原文地址:https://blog.csdn.net/Meseiter/article/details/133464239