zoukankan      html  css  js  c++  java
  • Python中Selenium的使用方法

    官方网站:"https://selenium-python.readthedocs.io/index.html"

    Selenium操作主要分两大类:
    1.得到UI元素:
    - find_element_by_id
    - find_elements_by_name
    - find_elements_by_xpath
    - find_elements_by_link_text
    - find_elements_by_partial_link_text
    - find_elements_by_tag_name
    - find_elements_by_class_name
    - find_elements_by_css_selector
    2.基于UI元素操作的模拟:
    - 单击
    - 右键
    - 拖拽
    - 输入

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time
    
    # 获得chrome的实例,如果找不到chrome括号内可以自己添加chrome的路径
    driver = webdriver.Chrome()
    url = "http://www.baidu.com"
    driver.get(url)
    
    # 获得页面截图
    driver.save_screenshot("index.png")
    # id="kw"对应的是百度的输入框,得到输入框的ui元素后模拟键盘输入"皮皮嘉"
    driver.find_element_by_id("kw").send_keys(u"皮皮嘉")
    # id="su"对应的是百度的搜索按钮,得到搜索按钮的ui元素后直接模拟鼠标点击
    driver.find_element_by_id("su").click()
    # 等待2秒后获得截图
    time.sleep(2)
    driver.save_screenshot("pipijia.png")
    # 在控制台打印得到的cookies
    print(driver.get_cookies())
    
    # 模拟输入两个按键"ctrl+a"选中搜索框内的字符
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
    # 模拟输入两个按键"ctrl+x"剪切搜索框内的字符
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'x')
    # 剪切掉所有字符后在输入"github"
    driver.find_element_by_id("kw").send_keys("github")
    driver.save_screenshot("github.png")
    # id="su"对应的是百度的搜索按钮,得到搜索按钮的ui元素后模拟键盘回车
    driver.find_element_by_id("su").send_keys(Keys.RETURN)
    time.sleep(2)
    driver.save_screenshot("github2.png")
    # 清空百度的输入框
    driver.find_element_by_id("kw").clear()
    driver.save_screenshot("clear.png")
    # 最后退出谷歌浏览器
    driver.quit()

     调式之后的结果截图如下:

  • 相关阅读:
    如何选择RabbitMQ的消息保存方式?
    一次Flannel和Docker网络不通定位问题
    flannel
    vsftp设置不同用户登录ftp的根目录不同
    nginx反向代理服务器获取不到端口的问题的解决办法
    RabbitMQ 内存控制 硬盘控制
    -bash: fork: Cannot allocate memory
    redis info
    nginx第三方模块---nginx-sticky-module的使用(基于cookie的会话保持)
    Haproxy的三种保持客户端会话保持方式
  • 原文地址:https://www.cnblogs.com/wjw2018/p/10617907.html
Copyright © 2011-2022 走看看