Python?中?Selenium?的?send_keys()?函數(shù)用法小結(jié)
我們將介紹 Selenium Python 中的 send_keys() 函數(shù)并演示其用法。
任何應(yīng)用程序在進(jìn)入市場(chǎng)之前都需要經(jīng)過一些測(cè)試。 應(yīng)用程序應(yīng)首先滿足與其名稱相關(guān)的所有要求。
我們應(yīng)該全面測(cè)試應(yīng)用程序,因?yàn)闆]有人能夠預(yù)測(cè)給予應(yīng)用程序的確切輸入。 Python Selenium 可以幫助我們測(cè)試所有可能的原因。
send_keys()
是將數(shù)字、文本和符號(hào)等鍵盤輸入發(fā)送到應(yīng)用程序的文本框的過程。 send_keys()
是 WebDriver 的一部分,每個(gè)鍵盤輸入都會(huì)發(fā)送到此元素。
Selenium Python 中的 send_keys() 函數(shù)
此方法涉及的第一步是打開我們要測(cè)試的 Web 應(yīng)用程序。 我們可以使用其 URL 打開該應(yīng)用程序。
等待整個(gè)頁面加載成功,如果應(yīng)用程序是動(dòng)態(tài)類型,但測(cè)試時(shí)網(wǎng)頁未完全加載,則測(cè)試失敗。
下一步涉及選擇和搜索發(fā)送到鍵盤輸入的所需元素。 該元素通常是一個(gè)文本框,允許用戶在其中書寫。
該元素可以是搜索選項(xiàng)卡或某種形式。 我們可以使用多個(gè)選項(xiàng)(例如元素 ID、元素名稱和 XPath)來查找元素。
選擇元素后,使用 send_keys 方法發(fā)送鍵盤輸入。 我們可以使用 id、類名或 xpath 來查找元素。
每個(gè)方法的語法如下所示。
# python getElemById = driver.find_element_by_id("myId") getElemByName = driver.find_element_by_name("myClass") getElemByXPath = driver.find_element_by_xpath("http://input[@id='myId']")
send_keys()
的主要應(yīng)用是測(cè)試應(yīng)用程序的大量輸入。 然而,了解此方法常用的兩個(gè)輸入非常重要。
使用 Selenium Python 中的 send_keys() 函數(shù)進(jìn)行輸入驗(yàn)證
大多數(shù)應(yīng)用程序都有一個(gè)廣泛使用用戶電子郵件地址的登錄表單。 因?yàn)槲覀兌贾烂總€(gè)電子郵件地址都有一個(gè)標(biāo)準(zhǔn)模板,以用戶名開頭,包括符號(hào)@,然后是域名。
現(xiàn)在,我們應(yīng)該添加驗(yàn)證電子郵件地址的過程。
這將不允許用戶通過在登錄表單中寫入無效的電子郵件地址來登錄應(yīng)用程序。 可以通過發(fā)送不遵循主模板的輸入來添加和檢查應(yīng)用程序來確認(rèn)驗(yàn)證。
額外的驗(yàn)證也可以參與此過程。 由于登錄應(yīng)用程序的密碼具有一組特定的規(guī)則,因此可以通過發(fā)送不符合規(guī)則的輸入來檢查此驗(yàn)證。
還應(yīng)檢查應(yīng)用程序中存在的搜索欄。 搜索欄應(yīng)顯示相關(guān)結(jié)果,以正確引導(dǎo)用戶使用所需的搜索元素。
send_keys()
是一個(gè)方便的工具,用于檢查搜索欄的預(yù)期結(jié)果。
某些 Web 應(yīng)用程序包含特殊功能,應(yīng)在發(fā)布應(yīng)用程序之前對(duì)其進(jìn)行檢查。 Google Meet 就是一種特殊功能的示例,它使用 Ctrl+D 將麥克風(fēng)靜音或取消靜音。
示例代碼:
# python from selenium import webdriver Chromedriver = webdriver.Chrome() Chromedriver.get("https://www.google.com/") getElemById = Chromedriver.find_element_by_name("gLFyf") getElemById.send_keys("This is filed by Selenium send keys")
輸出:
從上面的例子可以看出,借助selenium的 send_keys()
方法,我們可以填充任何網(wǎng)站上的任何輸入字段。
使用 Selenium Python 中的 send_keys() 函數(shù)擦除文本
我們還可以使用相同的 send_keys()
函數(shù)編輯和更改鍵的值。 讓我們看一個(gè)示例,其中我們將更改輸入的值,然后再次更改它。
在此示例中,我們將發(fā)送密鑰; 休眠 3 秒后,我們將從密鑰中刪除 3 個(gè)字母。 最后,我們?cè)俅胃脑撝担缦滤尽?/p>
示例代碼:
# python from selenium import webdriver from selenium.webdriver.common.keys import Keys import time link = 'https://www.google.com/' chromeDriver = webdriver.Chrome("C:\chromedriver.exe") driverOptions = webdriver.ChromeOptions() windowSize = chromeDriver.get_window_size() chromeDriver.get(link) getElemByName = chromeDriver.find_element_by_name('gLFyf') getElemByName.send_keys('For test purpose') time.sleep(3) getElemByName.send_keys(3*Keys.BACKSPACE) time.sleep(3) getElemByName.send_keys('testing second key') time.sleep(3) getElemByName.clear() time.sleep(3) chromeDriver.quit()
第一步:
第二步:
第三步:
故障排除問題:
- 我們應(yīng)該確保所選元素來自鍵盤輸入。
- 元素的識(shí)別應(yīng)給出適當(dāng)?shù)膮⒖迹员苊鈴?fù)雜化。
- 始終遵循正確的方法:搜索元素,單擊元素,然后發(fā)送密鑰。
- 當(dāng)元素不活動(dòng)或超出范圍時(shí),
send_keys()
可能會(huì)失敗。 確保在處理特定元素時(shí)計(jì)算這些因素。
到此這篇關(guān)于Python中Selenium的send_keys()函數(shù)的文章就介紹到這了,更多相關(guān)Pythonsend_keys()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django實(shí)戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷)
這篇文章主要介紹了Django實(shí)戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07詳解Django的model查詢操作與查詢性能優(yōu)化
這篇文章主要介紹了詳解Django的model查詢操作與查詢性能優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10總結(jié)Python變量的相關(guān)知識(shí)
今天給大家?guī)淼氖顷P(guān)于Python基礎(chǔ)的相關(guān)知識(shí),文章圍繞著Python變量的相關(guān)知識(shí)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06python實(shí)現(xiàn)nao機(jī)器人身體軀干和腿部動(dòng)作操作
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)nao機(jī)器人身體軀干和腿部動(dòng)作操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04