文章目录
selenium-编码过程中遇到的问题04-运行完脚本后发现任何软件都没有办法使用键盘输入文字了
解决办法:考虑是否是自动化过程中使用了如keydown(“ctrl”)导致还有没释放的ctrl所以一直无法输入
比如:下面这个代码就会导致此现象
import time
import pyautogui
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("file:///D:/Web_DWS_project/test_case/多文件上传.html")
driver.find_element(By.CLASS_NAME,"custom-upload-button").click()
# 移动到地址栏
pyautogui.moveTo(295,65)
# 这里不加等待会导致下面点击进入失败
time.sleep(3)
# 点击进入
pyautogui.click()
# 清除原有地址
pyautogui.press("backspace")
# 键盘输入文件存储的地址
pyautogui.write("D:\Web_DWS_project\picture")
# 按下回车键,要按两下才生效
pyautogui.press("enter")
pyautogui.press("enter")
# 点击ctrl 下面才可以选择多个图片
pyautogui.keyDown("ctrl")
# 鼠标移动到要选择的第一个图片,点击选择这个图片
pyautogui.moveTo(329,267)
time.sleep(3)
pyautogui.click()
# 鼠标移动到要选择的第二个图片,点击选择这个图片
pyautogui.moveTo(732,275)
time.sleep(3)
pyautogui.click()
# 鼠标移动到打开按钮,点击上传选择的两个图片 位置x:688,y:671
pyautogui.moveTo(688,671)
pyautogui.click()
#等待观察结果
time.sleep(10)
driver.quit()
解决
import time
import pyautogui
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("file:///D:/Web_DWS_project/test_case/多文件上传.html")
driver.find_element(By.CLASS_NAME,"custom-upload-button").click()
# 移动到地址栏
pyautogui.moveTo(295,65)
# 这里不加等待会导致下面点击进入失败
time.sleep(3)
# 点击进入
pyautogui.click()
# 清除原有地址
pyautogui.press("backspace")
# 键盘输入文件存储的地址
pyautogui.write("D:\Web_DWS_project\picture")
# 按下回车键,要按两下才生效
pyautogui.press("enter")
pyautogui.press("enter")
# 点击ctrl 下面才可以选择多个图片
pyautogui.keyDown("ctrl")
# 鼠标移动到要选择的第一个图片,点击选择这个图片
pyautogui.moveTo(329,267)
time.sleep(3)
pyautogui.click()
# 鼠标移动到要选择的第二个图片,点击选择这个图片
pyautogui.moveTo(732,275)
time.sleep(3)
pyautogui.click()
# 释放刚刚按下的ctrl
pyautogui.keyUp("ctrl")
# 鼠标移动到打开按钮,点击上传选择的两个图片 位置x:688,y:671
pyautogui.moveTo(688,671)
pyautogui.click()
#等待观察结果
time.sleep(10)
driver.quit()