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()

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

  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/wjw2018/p/10617907.html
Copyright © 2011-2022 走看看