美文网首页Selenium_博客已迁移Selenium的自学之路我爱编程
Python+Selenium操作之键盘组合键模拟操作

Python+Selenium操作之键盘组合键模拟操作

作者: 路由心定 | 来源:发表于2018-01-23 08:34 被阅读97次

    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) ——发送某个键到指定元素

    欢迎关注我们的微信公众平台:我要学测试

    我要学测试.jpg

    相关文章

      网友评论

        本文标题:Python+Selenium操作之键盘组合键模拟操作

        本文链接:https://www.haomeiwen.com/subject/ybfraxtx.html