欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用selenium模擬鍵盤輸入的常見方法

 更新時間:2025年04月29日 10:03:11   作者:翠花上酸菜  
本文主要介紹了在使用Selenium進行模擬登錄時,賬號和密碼輸入失敗的問題,并提出了幾種解決方法,包括使用Selenium的send_keys函數、pyautogui庫、pynput庫和JavaScript輸入操作,并有相關的代碼示例供大家參考,需要的朋友可以參考下

我在使用selenium弄模擬登陸,需要模擬輸入賬號和密碼,往往都使用 selenium 的send_keys 函數。

可是我昨天在寫測試的時候,有時候有些網站,居然使用send_keys 函數,無法在輸入框里輸入文字!

在Python中,你可以使用多種方式來模擬鍵盤輸入。

以下是一些常見的方法:

1. 使用 selenium 的send_keys 函數

這是最基本的方法,適用于需要用戶手動輸入的情況,不涉及模擬鍵盤輸入。

user_input = wait.until(EC.presence_of_element_located((By.XPATH, "/html/")))
user_input.send_keys("密碼")

有時候,這個方法對一些網站無效,具體表現在,怎么定位輸入鍵的Xpath都沒有效果,無法定位位置,導致無法操作。

這樣的話,要么刷新網頁,要么使用后面的方法。

2. 使用 pyautogui 庫

在我使用 selenium 傳統的的send_keys 函數輸入值的方法,發(fā)現不太行后,使用js的方法也不行(最后那個方法)。

于是,嘗試了一下pyautogui來,模擬鼠標和鍵盤操作。

在運行前,需要安裝 pyautogui

pip install pyautogui

要先找到目標輸入的位置:

sleep(6) #把鼠標放在目標獲取的位置,獲取位置信息
current_position = pyautogui.position()
print(f"當前鼠標位置:X={current_position.x}, Y={current_position.y}")

然后,你可以使用它來模擬鍵盤輸入:

import pyautogui

# 移動鼠標到一個文本框位置(這里以屏幕上的坐標為例)
pyautogui.click(100, 100) #輸入上面返回的xy的位置信息

# 輸入文本
pyautogui.write('Hello, World!', interval=0.25)

如果是要模擬點擊enter鍵,則是

# 模擬按下 Enter 鍵
pyautogui.press('enter')

到這里就成功啦,只是pyautogui有個不太好的是,它會占用鼠標和鍵盤的使用,如果我們想要在一邊使用selenium運行的時候,也同時使用鍵盤和鼠標,就會影響或者中斷運行的程序,不太方便。

所以如果非必要情況,還是使用xpath/css定位法會更好

3. 使用 pynput 庫

pynput 是另一種可以用于模擬鍵盤和鼠標事件的庫。

首先,安裝 pynput

pip install pynput

使用 pynput 模擬鍵盤輸入:

from pynput.keyboard import Controller, Key

keyboard = Controller()

# 輸入文本
keyboard.type('Hello, World!', interval=0.25)

# 按下回車鍵
keyboard.press(Key.enter)
keyboard.release(Key.enter)

4. 使用js輸入的操作

jsStr = "var d = document.getElementsByClassName('user');d.value='世sdf 言';"
driver.execute_script(jsStr)

但是個人覺得效果不佳hhh

到此這篇關于Python使用selenium模擬鍵盤輸入的常見方法的文章就介紹到這了,更多相關Python selenium鍵盤輸入內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python實現決策樹

    python實現決策樹

    這篇文章主要為大家詳細介紹了python實現決策樹的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 基于Python PaddleSpeech實現語音文字處理

    基于Python PaddleSpeech實現語音文字處理

    PaddleSpeech基于飛槳PaddlePaddle的語音方向的開源模型庫,用于語音和音頻中的各種關鍵任務的開發(fā),包含大量基于深度學習前沿和有影響力的模型。本文將介紹如何通過PaddleSpeech實現語音文字處理,感興趣的可以學習一下
    2022-01-01
  • 利用Python實現微信找房機器人實例教程

    利用Python實現微信找房機器人實例教程

    這篇文章主要給大家介紹了關于如何利用Python實現微信找房機器人的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • python中cv2.imdecode()與cv2.imencode()的使用小結

    python中cv2.imdecode()與cv2.imencode()的使用小結

    本文介紹了cv2.imencode()和cv2.imdecode()函數的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • python面向對象版學生信息管理系統

    python面向對象版學生信息管理系統

    這篇文章主要為大家詳細介紹了python面向對象版學生信息管理系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python編程求質數實例代碼

    Python編程求質數實例代碼

    這篇文章主要介紹了Python編程求質數實例代碼,對求200,1000和100000以內的質數進行了測試,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python使用數字與字符串方法技巧

    python使用數字與字符串方法技巧

    這篇文章主要介紹了python使用數字與字符串方法技巧,文章內容介紹詳細具有一的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • 淺析python協程相關概念

    淺析python協程相關概念

    本篇文章給大家分析了一下python協程的概念以及代碼相關實例,有興趣的朋友跟著小編學習下吧。
    2018-01-01
  • Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)

    Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)

    這篇文章主要介紹了Pycharm中安裝Pygal并使用Pygal模擬擲骰子,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python數據庫封裝實現代碼示例解析

    Python數據庫封裝實現代碼示例解析

    這篇文章主要介紹了Python數據庫封裝實現代碼示例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論