来源:python中国网 时间:2020-03-19

  本文重点是测试selenium鼠标和键盘操作的复制粘贴功能,所以用一个简单的脚本测试下。(PS:在实际开发中应该用显式等待的方法来判断元素加载,而不是简单粗暴的强制等待sleep,关于显式等待的用法可以参考selenium显式等待案例

  1、打开百度,输入python,点击搜索。

  2、双击全选第1步输入的python。

  3、通过selenium按下复制键。

  4、打开搜狗网页,通过selenium按下粘贴键,点击搜索。

  (请注意:有些同学不能实现复制粘贴,而且程序也不报错。请检查下send_keys方法,如果使用Keys.COMMAND参数则不能实现复制粘贴,要用Keys.CONTROL)

# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys


def main(url1,url2):
    driver.get(url1)
    sleep(2)  # 强制等待
    # 搜索python
    driver.find_element_by_css_selector("#kw").send_keys("Python")
    driver.find_element_by_css_selector('#su').click()
    # 双击全选
    element = driver.find_element_by_css_selector('#kw')
    ActionChains(driver).double_click(element).perform()
    # 键盘复制
    driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'c')
    sleep(2)
    driver.get(url2)
    sleep(2)
    # 键盘粘贴
    driver.find_element_by_css_selector('#query').send_keys(Keys.CONTROL,'v')
    driver.find_element_by_css_selector('#stb').click()
    sleep(2)
    driver.quit()


if __name__ == "__main__":
    url1 = 'https://www.baidu.com/'
    url2 = 'https://www.sogou.com/'
    driver = webdriver.Chrome()
    main(url1,url2)



疑难杂症

Tips:不要怕、多坚持、多动手、付出必有回报。