精华内容
下载资源
问答
  • 常用的键盘操作: send_keys(Keys.BACK_SPACE):删除键(BackSpace) send_keys(Keys.SPACE):空格键(Space) send_keys(Keys.TAB):制表键(TAB) send_keys(Keys.ESCAPE):回退键(ESCAPE) send_keys(Keys.ENTER):...
  • from selenium import webdriver import time, random, re, json from pynput.mouse import Button, Controller # 导入鼠标模块 from pynput.keyboard import Controller as KeyController # 导入键盘...
    # -*- coding: utf-8 -*-
    from selenium import webdriver
    import time, random, re, json
    from pynput.mouse import Button, Controller # 导入鼠标模块
    from pynput.keyboard import Controller as KeyController # 导入键盘模块
    from pynput.keyboard import Key # 导入键盘模块
    
    
    def run():
        user_list = [
            {'user': 'joyo', 'password': 'j123456'}
        ]
    
        url = 'https://login.jhtml?'
    
    
        # ------------------------------------- ↓ 👇  设置 浏览器 👇 ↓ ------------------------------------------
    
        chromeOptions = webdriver.ChromeOptions()   # 创建设置对象
    
        chromeOptions.add_experimental_option('excludeSwitches',['enable-automation'])  # 设置webdriver为undefind, 因为自动驱动时该值为true
        chromeOptions.add_argument('--headless')  # 浏览器无窗口加载
        chromeOptions.add_argument('--disable-gpu')  # 不开启GPU加速
        chromeOptions.add_argument('--disable-dev-shm-usage')  # 禁止
        chromeOptions.add_argument('--no-sandbox')  # 以根用户打身份运行Chrome,使用-no-sandbox标记
        # chromeOptions.add_argument("--proxy-server = %s" % proxies['http']) # 设置代理
        # chromeOptions.add_argument(ua)  # 设置ua 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
        # chromeOptions.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
        # chromeOptions.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
    
        driver = webdriver.Chrome(chrome_options=chromeOptions, executable_path="/usr/bin/chromedriver")    # linux 上加载设置
        driver = webdriver.Chrome(chrome_options=chromeOptions)     # windows 上加载设置
    
        # -------------------------------------↑ 👆 设置 浏览器 👆 ↑ ------------------------------------------
    
    
    
        # driver = webdriver.Firefox()   # 火狐浏览器
        driver = webdriver.Chrome()    # 谷歌浏览器
    
        time.sleep(random.uniform(1, 3))
    
        driver.get(url) # 请求网页
    
    
    
        # ------------------------------------- ↓ 👇  设置 浏览器 窗口大小 👇 ↓ ------------------------------------------
    
        driver.maximize_window()    # 窗口最大化
        # 将窗口大小实例化,打印浏览器的宽和高
        size_Dict = driver.get_window_size()
        print("当前浏览器的宽:", size_Dict['width'])
        print("当前浏览器的高:", size_Dict['height'])
        # 设置浏览器的大小
        driver.set_window_size(width=500, height=500, windowHandle="current") # windowHandle = "current" 控制当前窗口的意思, 不写的话默认控制当前窗口有
    
    
        # -------------------------------------↑ 👆 设置 浏览器 窗口大小 👆 ↑ ------------------------------------------
    
    
    
        # 读鼠标坐标
        mouse = Controller() # 创建 鼠标 对象
        # 设置鼠标坐标
        mouse.position = (1165, 320)   # 设置鼠标位置
        # 点击鼠标
        mouse.click(Button.left)  # 点击鼠标2下 mouse.click(Button.left, 2)
        time.sleep(0.5)
        mouse.release(Button.left)  # 释放鼠标左键
        time.sleep(random.uniform(1, 2))
    
        k = KeyController() # 创建 键盘 对象
        # 清空输入框
        for i in range(18):
            k.press(Key.backspace)  # 用键盘按住 backspace
            k.release(Key.backspace)  # 放开backspace
        mouse.position = (1038, 420)    # 设置鼠标位置
        mouse.click(Button.left)  # 点击鼠标2下 mouse.click(Button.left, 2)
        time.sleep(0.5)
        mouse.release(Button.left)  # 释放鼠标左键
        time.sleep(1)
        user = random.choice(user_list)
        # 输入用户名
        for i in user['user']:  # 用键盘输入账号,一个字母一个字母的输入
            k.type(i)
            time.sleep(random.uniform(0.5, 1.5))
        k.press(Key.tab)    # 用键盘按住 tab 键
        k.release(Key.tab)    # 释放 tab 键  tab键可以切换输入框
        time.sleep(1)
        # 输入密码
        for i in user['password']:
            k.type(i)
            time.sleep(random.uniform(0.5, 1.5))
        # 鼠标移动到登录按钮位置
        mouse.position = (1030, 540)
        time.sleep(random.uniform(0.5, 1.5))
        mouse.click(Button.left)    # 点击鼠标左键
        time.sleep(2)
    
        time.sleep(30)
        # driver.get("https://newkf.topchitu.com/quickview/shopkpi.shtml")
        # time.sleep(3)
        driver.get("https://shopkpi.shtml?")
        print('>>> ', driver.page_source, ' <<<')
    
    
    
    
    if __name__ == "__main__":
        run()
    
    
    
    
    
    展开全文
  •   前面的 send_keys() 方法用来模拟键盘输入;keys() 类提供了键盘上几乎所有按键的方法,组合键也是可以的。 常用的键盘操作如下: send_keys(Keys.BACK_SPACE) 删除键(BackSpace) send_keys(Keys.SPACE) 空格...

    键盘事件
      前面的 send_keys() 方法用来模拟键盘输入;keys() 类提供了键盘上几乎所有按键的方法,组合键也是可以的。

    常用的键盘操作如下:

    send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
    send_keys(Keys.SPACE) 空格键(Space)
    send_keys(Keys.TAB) 制表键(Tab)
    send_keys(Keys.ESCAPE) 回退键(Esc)
    send_keys(Keys.ENTER) 回车键(Enter)
    send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
    send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
    send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)
    send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
    send_keys(Keys.F1) 键盘 F1
    ……
    send_keys(Keys.F12) 键盘 F12

    展开全文
  • 下载浏览器对应的driver,chromedriver地址:http://chromedriver.storage.googleapis.com/index.html,注意需要和自己的浏览器版本一致,地址栏输入chrome://version/即可查看,下载解压后的driver文件需要放到PATH...

    环境

    1. pip install selenium
    2. 下载浏览器对应的driver,chromedriver地址:http://chromedriver.storage.googleapis.com/index.html,注意需要和自己的浏览器版本一致,地址栏输入chrome://version/即可查看,下载解压后的driver文件需要放到PATH路径中

    打开一个页面

    import selenium.webdriver
    browser = selenium.webdriver.Chrome()
    browser.get("https://www.jianweidata.com/Index")
    

    获取指定元素

    element = browser.find_element_by_xpath('//*[@id="app"]/div[2]/div/ul/li[1]/span')
    print(element.text)
    #获取元素的属性,href height class等
    print(element.get_attribute("class"))
    

    简单说一下xpath的语法:

    //a #表示所有a标签元素
    //* #就是所有元素
    //*[@class="app"] #就是class属性为app的所有元素
    //*[@class="app"]/div[2] #就是class属性为app的所有元素下的第二个div
    #可以在浏览器网页上右键检查,到网页源码,右键 复制指定元素的xpath
    #可以通过浏览器的扩展插件验证你的xpath是否正确,浏览器->自定义及控制->更多工具->扩展程序,然后搜索xpath选一个即可
    

    鼠标移动到指定元素上

    from selenium.webdriver import ActionChains
    ac = ActionChains(browser)
    ac.move_to_element(element)
    #睡眠是为了页面能响应上一个动作,比如下拉列表等
    time.sleep(3)
    ac.click_and_hold(bs.find_element_by_xpath('//*[@id="app"]/div[2]/div/ul/li[1]/div/a[1]')).release()
    ac.perform() #执行action chains中存储的动作,最后必须执行这句
    

    其他鼠标动作

    • move_by_offset(xoffset, yoffset) 鼠标移动到坐标位置
    • move_to_element_with_offset(to_element, xoffset, yoffset) 移动到元素偏移位置
    • click(on_element=None) 鼠标单击
    • click_and_hold(on_element=None) 鼠标单击并且按住不放
    • release() 鼠标松开
    • context_click(on_element=None) 右击
    • double_click(on_element=None) 双击
    • drag_and_drop(source, target) 拖拽到指定元素处
    • drag_and_drop_by_offset(source, xoffset, yoffset) 拖拽到指定位置
    • key_down(value, element=None) 按住某个键,使用这个方法可以方便的

    键盘操作

    • key_up(value, element=None) 松开某个键,可以配合上面的方法实现按下Ctrl+c并且释放。
    • send_keys(*keys_to_send) 向某个元素位置输入值
    • send_keys_to_element(element, *keys_to_send) 向指定的元素输入数据

    键盘输入

    #输入框输入
    from selenium.webdriver.common.keys import Keys
    browser.find_element_by_xpath('//*[@id="username"]').send_keys("admin")
    bs.find_element_by_xpath('//*[@id="password"]').send_keys("12345678", Keys.ENTER)#输入密码并回车
    #Keys中有各种控制字符,方便使用
    
    展开全文
  • 转载,转自:... CTRL+A全选操作 # coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep driver = webdriver.Fire...

    转载,转自:https://www.jianshu.com/p/f5ae54b5d2d8

    CTRL+A全选操作

    # coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from time import sleep
    
    driver = webdriver.Firefox()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    sleep(2)
    element=driver.find_element_by_id('kw')
    element.send_keys(u'路由心定')
    sleep(2)
    element.send_keys(Keys.CONTROL + 'a')
    

    BACKSPACE删除操作

    # coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from time import sleep
    
    driver = webdriver.Firefox()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    sleep(2)
    element=driver.find_element_by_id('kw')
    element.send_keys(u'路由心定')
    sleep(2)
    element.send_keys(Keys.BACKSPACE)
    '''
    加下划线与不加作用一样
    '''
    sleep(2)
    element.send_keys(Keys.BACK_SPACE)
    

    鼠标操作(ActionChains)

    # coding=utf-8
    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.common.action_chains import ActionChains
    
    driver = webdriver.Firefox()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    sleep(2)
    #输入框
    element=driver.find_element_by_id('kw')
    element2=driver.find_element_by_id('su')
    #element.send_keys(u'路由心定')
    '''
    单击操作
    '''
    ActionChains(driver).click(element2).perform()
    print u'单击成功'
    sleep(2)
    '''
    双击操作
    '''
    element1=driver.find_element_by_id('kw')
    ActionChains(driver).double_click(element1).perform()
    print u'右击成功'
    '''
    
    右键单击
    '''
    ActionChains(driver).context_click(element1).perform()
    print u'右键点击成功'
    '''
    鼠标移动
    '''
    #目标位置:右侧百度首页
    TargetElement=driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[2]/a[1]')
    ActionChains(driver).move_to_element(TargetElement).perform()
    sleep(2)
    #移动到指定元素坐标位置:move_by_offset(x,y).perform()
    '''
    拖拽
    '''
    action=ActionChains(driver)
    #将目标1移动到2处
    action.drag_and_drop(element1, element2).perform()
    sleep(2)
    #与上边语句作用一致
    action.click_and_hold(element1).release(element2).perform()
    sleep(2)
    #将目标1拖拽到指定坐标下
    action.click_and_hold(element1).move_by_offset(880, 88).release().perform()
    sleep(2)
    

    Actionchains方法列表

    click(on_element=None) ——单击鼠标左键

    click_and_hold(on_element=None) ——点击鼠标左键,不松开

    context_click(on_element=None) ——点击鼠标右键

    double_click(on_element=None) ——双击鼠标左键

    drag_and_drop(source, target) ——拖拽到某个元素然后松开

    drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

    key_down(value, element=None) ——按下某个键盘上的键

    key_up(value, element=None) ——松开某个键

    move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

    move_to_element(to_element) ——鼠标移动到某个元素

    move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

    perform() ——执行链中的所有动作

    release(on_element=None) ——在某个元素位置松开鼠标左键

    send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

    send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

    展开全文
  • [139]python selenium之模拟键盘操作

    千次阅读 2018-06-24 00:15:14
    selenium 提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入from selenium.webdriver.common.keys import Keys即可,然后就可以来模拟键盘操作。 #导入Keys 模块,然后我们看看Keys 模块定义了...
  • 目录 1.ActionChains基本用法 ...用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains ...
  • import time from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.get("http://www.baidu.com") # 输入框输入内容 elem = driver.find_element_by...
  • 版权声明:版权声明:本文为CSDN博主「药药君」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上...Python中所有的库or包都放在site-packages里,selenium也不例外 而使用键盘事件需要到导入的模块是keys,如下...
  • CTRL+A全选操作 ...from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep driver = webdriver.Firefox() driver.maximize_window() driver.get('htt...
  • Python + Selenium键盘操作

    千次阅读 2018-09-28 16:38:31
    之前曾经提到过使用Selenium进行鼠标操作,键盘操作除了经常使用的send_keys(’’)进行输入之外,Selenium的Keys类还包括一些功能键的使用,如Ctrl,Alt,Delete等等,今天就来熟悉一下这些键的实际使用。...
  • Keys类几乎提供了键盘上所有的按键操作,键盘操作可以用send_keys()方法模拟键盘输入。常用键盘操作有: 1、send_keys(Keys.BACKSPACE) 删除BackSpace 2、send_keys(Keys.SPACE) 空格Space 3、send_keys...
  • 可以看到上面的URL是一模一样的,这是我以前没见过的,可以参考我最早写的博客:python获取动态网站上面的动态加载的数据(初级),那些包里面的URL是不一样的,通过URL可以得到相关的json数据,但在这里...
  • from selenium import webdriver import time from selenium.webdriver.common.keys import Keys ...#模拟键盘输入ctrl+a driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL+'a') time.
  • from selenium.webdriver.common.keys import Keys from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium...
  • python selenium 键盘操作

    2018-03-29 14:04:27
    1.导入Keys模块from selenium.webdriver.common.keys import Keys2.模拟键盘删除一位 driver_box.send_keys(Keys.BACK_SPACE) #注意:参数大小写敏感3.输入空格driver_box.send_keys(Keys.SPACE)4.键盘操作组合键...
  • 相信很多人在用selenium的时候,明明就想简单的点一下空格或者回车,却不无奈不知道怎么操作,只能通过   driver.find_element_by_xpath('//*[@id="input"]').send_keys(Keys.ENTER),先定位到某个元素...
  • 版本:python3.7 ``` # -*- utf-8 -*- """ 测试一些浏览器的模拟点击事件 """ import requests from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from...
  • python+js实现的用selenium下载网络文件。脚本实现了类似requests、urllib的功能,即输入url,返回文件的二进制字符串。不用依赖鼠标、键盘事件完成下载。本脚本纯粹依靠selenium Chrome实现,因此继承了Chrome的...
  • 有多种方式 一、先定位到元素 ... 通过.clear() 全部清空 要清空的元素.send_keys('要输入的值') 要清空的元素.send_keys(4*Keys.BACK_SPACE) 清空4位 因为Keys.BACK_SPACE只能清空一个,所以4*K.
  • Python+selenium 键盘操作事件

    千次阅读 2018-10-12 19:58:50
    前言:写这篇文章的原因是在实施项目的过程中遇到了一些麻烦,项目前端的编写不是很规范,很多关键地方只有xpath可以定位到,并且使用selenium的send.keys()方法不能在输入框输入内容。只能通过操作鼠标点击后,操作...
  • Python+selenium 自动化-模拟键盘输入、点击操作,如何查看所支持的全部键位名称。 模拟键盘操作,如何查看全部所支持的键位名称 通过 send_keys() 就能进行输入和键盘操作了。 键盘操作需要引用 Keys 包。
  • Python Selenium.WebDriverWait 清除输入框再输入 文章目录Python Selenium.WebDriverWait 清除输入框再输入输入框 输入框
  • Python也可以模拟鼠标和键盘的操作,不过要注意的是键盘带来的屏幕游标位置的挪动和鼠标在屏幕上的挪动位置,两个是不同的。  首先要在文件头引入  from selenium.webdriver.common.action_chains import ...
  • 文章目录常用的键盘操作:例子 常用的键盘操作: send_keys(Keys.BACK_SPACE):删除键(BackSpace) send_keys(Keys.SPACE):空格键(Space) send_keys(Keys.TAB):制表键(TAB) send_keys(Keys.ESCAPE):回退键(ESCAPE)...
  • Python Selenium库的使用

    万次阅读 多人点赞 2018-03-07 21:50:29
    (一)Selenium基础 入门教程:Selenium官网教程 1.Selenium简介 Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无...
  • Python Selenium键盘鼠标操作

    千次阅读 2018-09-28 16:29:04
    在自动化测试中,一定会遇到需要使用鼠标和键盘去操作Web元素,比如单击、双击、输入文本等等。在之前的介绍中,我们也使用过.click()、.send_keys()、.clear()这三种基本的操作,今天我们来介绍其他的操作API。 ...
  •  Python也可以模拟鼠标和键盘的操作,不过要注意的是键盘带来的屏幕游标位置的挪动和鼠标在屏幕上的挪动位置,两个是不同的。  首先要在文件头引入  from selenium.webdriver.common
  • python selenium 文件上传窗口处理

    千次阅读 2020-12-23 13:58:41
    近期很多小伙伴在使用 selenium 做 Web 自动化的过程中,遇到了文件上传的功能,发现通过 selenium 无从下手。那么小编在这里给大家整理了一篇文章,只需要几行简单的代码,就可以帮大家解决文件上传这个问题。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,706
精华内容 1,882
关键字:

pythonselenium键盘输入

python 订阅