關於 lambda 在 WebDriverWait () 中的用法實在不明白
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
driver=webdriver.Firefox()
driver.get()
WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id("someId"))
用法:
WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
通過from selenium.webdriver.support.wait import WebDriverWait匯入模組
- driver:瀏覽器驅動
- timeout:最長超時時間,預設以秒為單位
- poll_frequency:檢測的間隔步長,預設為0.5s
- ignored_exceptions:超時後的丟擲的異常資訊,預設丟擲NoSuchElementExeception異常。
until:
WebDriverWait(driver,10).until(method,message="")
呼叫該方法提供的驅動程式作為引數,直到返回值為True
問題:實在不明白的一點是,WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id("someId"))這段裡面until()傳入的是lambda,一般正常使用傳入的為find_element_byid("someId")之類的驗證資訊,但是這裡用lambda代替了,我不太理解的是lambda裡的x不應該是形參嗎,這裡什麼都沒傳進去為什麼還能執行,好像下面這樣:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
driver=webdriver.Firefox()
driver.get()
lambda_method = lambda x: x.find_element_by_id("someId") #<----------here
WebDriverWait(driver, 10).until(lambda_method()) #<----------here 不應該傳入driver麼?
定義了lambda卻什麼都沒傳進去。麻煩各位大神指導一下~
相關文章
- 關於C++中在模板引數中使用Lambda表示式的問題C++
- 在lambda的foreach遍歷中break退出(lambda foreach break)
- Python中lambda表示式的用法Python
- Nmap在實戰中的高階用法(詳解)
- vue中 關於$emit的用法VueMIT
- 關於JavaScript中arguments的用法JavaScript
- 關於逗號( , )在JS中的使用技巧JS
- 關於Clean Architecture在android中的應用Android
- 在Hibernate中關於Oracle sequence的使用KHOracle
- sqlalchemy在python中的使用(關於查詢)二SQLPython
- Redis 在現實世界的 5 個用法Redis
- 在滲透中curl的常見用法
- 關於MVP分層架構在專案中的實際運用MVP架構
- 關於C#中async/await的用法C#AI
- Qdrant用法;Qdrant在langchain裡的用法LangChain
- 關於 Android studio 在xml中不提示的問題AndroidXML
- 關於 fontawesome 庫在 Spartacus 專案中的應用
- 在node中的mongodb及mongoose常見用法MongoDB
- 非空校驗在oracle和mysql中的用法OracleMySql
- 基於 URL 的縮圖在 Laravel 中的實現Laravel
- 關於 K8S 在測試中的疑問K8S
- python-lambda用法Python
- 關於在Flutter Web中載入html(持續更新中......)FlutterWebHTML
- 專案中關於解構的常用用法
- 使用 Lambda Web Adapter 在 Lambda 上 構建 web 應用WebAPT
- 關於input 中 hidden屬性在後臺作用的例項
- [筆記] 關於任務佇列在專案中的使用筆記佇列
- 關於轉義符 在php正則中的匹配問題PHP
- 關於透明傳輸在通訊中的應用淺談
- 關於.NET在中國為什麼工資低的分析
- 關於 index.ts 在大型 Angular 專案中的應用IndexAngular
- 關於AI、關於chatGPT的幾十種用法AIChatGPT
- 關於中國晶片,這些話如鯁在喉晶片
- 這樣也行,在lambda表示式中優雅的處理checked exceptionException
- 在Java中this關鍵字的使用Java
- 關於Linux中“!”你不知道的驚歎用法Linux
- Shell 中 $ 關於指令碼引數的幾種用法指令碼
- lambda表示式在oj中會比匿名內部類慢