最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

我在使用selenium弄模擬登陸,需要模擬輸入賬號(hào)和密碼,往往都使用 selenium 的send_keys 函數(shù)。

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

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

以下是一些常見的方法:

1. 使用 selenium 的send_keys 函數(shù)

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

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

有時(shí)候,這個(gè)方法對(duì)一些網(wǎng)站無效,具體表現(xiàn)在,怎么定位輸入鍵的Xpath都沒有效果,無法定位位置,導(dǎo)致無法操作。

這樣的話,要么刷新網(wǎng)頁,要么使用后面的方法。

2. 使用 pyautogui 庫

在我使用 selenium 傳統(tǒng)的的send_keys 函數(shù)輸入值的方法,發(fā)現(xiàn)不太行后,使用js的方法也不行(最后那個(gè)方法)。

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

在運(yùn)行前,需要安裝 pyautogui

pip install pyautogui

要先找到目標(biāo)輸入的位置:

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

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

import pyautogui

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

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

如果是要模擬點(diǎn)擊enter鍵,則是

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

到這里就成功啦,只是pyautogui有個(gè)不太好的是,它會(huì)占用鼠標(biāo)和鍵盤的使用,如果我們想要在一邊使用selenium運(yùn)行的時(shí)候,也同時(shí)使用鍵盤和鼠標(biāo),就會(huì)影響或者中斷運(yùn)行的程序,不太方便。

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

3. 使用 pynput 庫

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

首先,安裝 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)

但是個(gè)人覺得效果不佳hhh

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

相關(guān)文章

  • Python 操作SQLite數(shù)據(jù)庫詳情

    Python 操作SQLite數(shù)據(jù)庫詳情

    這篇文章主要介紹了Python 操作SQLite數(shù)據(jù)庫,SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫中,下面來看看詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • PyCharm軟件無法安裝lxml庫的問題及解決

    PyCharm軟件無法安裝lxml庫的問題及解決

    這篇文章主要介紹了PyCharm軟件無法安裝lxml庫的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python中的logging模塊的簡單應(yīng)用和高級(jí)使用

    python中的logging模塊的簡單應(yīng)用和高級(jí)使用

    在?Python?中,可以使用內(nèi)置的?logging?模塊來記錄應(yīng)用程序的信息,logging?模塊還提供了一些高級(jí)功能,如日志回溯、日志輪換、日志緩沖等,需要的朋友可以參考下
    2023-04-04
  • 在PyCharm搭建OpenCV-python的環(huán)境的詳細(xì)過程

    在PyCharm搭建OpenCV-python的環(huán)境的詳細(xì)過程

    這篇文章主要介紹了在PyCharm搭建OpenCV-python的環(huán)境的詳細(xì)過程,本文通過圖文并茂的形式給大家介紹搭建步驟,對(duì)PyCharm搭建OpenCV-python環(huán)境相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-05-05
  • keras小技巧——獲取某一個(gè)網(wǎng)絡(luò)層的輸出方式

    keras小技巧——獲取某一個(gè)網(wǎng)絡(luò)層的輸出方式

    這篇文章主要介紹了keras小技巧——獲取某一個(gè)網(wǎng)絡(luò)層的輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 使用Python解析五大主流文檔從PDF到EPUB的全攻略

    使用Python解析五大主流文檔從PDF到EPUB的全攻略

    在日常的數(shù)據(jù)處理、內(nèi)容分析和知識(shí)管理工作中,我們經(jīng)常需要從各種格式的文檔中提取信息,今天,我將為大家詳細(xì)介紹如何用Python解析五種最常見的文檔格式:PDF、Markdown、TXT、DOC和EPUB,需要的朋友可以參考下
    2026-01-01
  • PyQt5+Pycharm安裝和配置圖文教程詳解

    PyQt5+Pycharm安裝和配置圖文教程詳解

    這篇文章主要介紹了PyQt5+Pycharm安裝和配置教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python錯(cuò)誤:AttributeError: ''module'' object has no attribute ''setdefaultencoding''問題的解決方法

    python錯(cuò)誤:AttributeError: ''module'' object has no attribute

    這篇文章主要介紹了python錯(cuò)誤:AttributeError: 'module' object has no attribute 'setdefaultencoding'問題的解決方法,需要的朋友可以參考下
    2014-08-08
  • 使用Python實(shí)現(xiàn)圖像有效壓縮的方法

    使用Python實(shí)現(xiàn)圖像有效壓縮的方法

    在數(shù)字時(shí)代,圖像作為信息傳遞的重要媒介,在網(wǎng)頁設(shè)計(jì)、移動(dòng)應(yīng)用和多媒體制作中扮演著不可或缺的角色,本文將詳細(xì)介紹如何使用Python,一個(gè)功能強(qiáng)大且易于學(xué)習(xí)的編程語言,來實(shí)現(xiàn)圖像的有效壓縮,感興趣的朋友可以參考下
    2024-03-03
  • python通過post提交數(shù)據(jù)的方法

    python通過post提交數(shù)據(jù)的方法

    這篇文章主要介紹了python通過post提交數(shù)據(jù)的方法,涉及Python使用post方式傳遞數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05

最新評(píng)論

玉门市| 淮北市| 阳新县| 吴桥县| 山东省| 唐山市| 霸州市| 寿光市| 海阳市| 邵阳市| 临朐县| 兰西县| 玉屏| 蒲城县| 新闻| 海原县| 盖州市| 吴旗县| 封丘县| 上林县| 新疆| 曲周县| 江安县| 婺源县| 北宁市| 兴宁市| 安新县| 南川市| 沁水县| 广德县| 紫金县| 红河县| 集贤县| 遂溪县| 古田县| 定西市| 北川| 汉沽区| 锡林郭勒盟| 凤山市| 太仆寺旗|