所以我發現如果你使用WebDriver得到頁面源代碼,你實際上得到了整個DOM的生成源(不僅僅是加載的頁面的HTML源代碼)。然後你可以使用這個String來生成一個Jsoup文檔。這很酷,因爲Jsoup在搜索元素方面比WebDriver快得多,它也有一個更好的API來執行此操作。將Jsoup「元素」轉換爲WebDriver「WebElement」?
那麼,有沒有辦法將一個Jsoup元素變成一個WebDriver WebElement?我在stackoverflow上看到有關使用方法從Jsoup文檔生成xpath的另一篇文章,但那不是我要找的,因爲WebDriver仍然需要解析頁面並使用Xpath查找元素,從而破壞了目的(除非你的porpuse純粹是使用Jsoup來實現其優越的Selector方法)。
我想嘗試和使用Jsoup爲WebDriver找到WebElements的原因是因爲在某些網站上,WebDriver非常慢(我爲一家自動化數百個第三方網站的公司工作,我們無法控制這些網站)。
謝謝你的解釋,但我應該澄清我的意思是WebDriver速度很慢。我知道它試圖模仿一個真實世界的用戶,但在一些網站上(並且再次,我不得不在幾百個我不能控制的網站上工作),這是非常緩慢的;該頁面將被完全加載,dom已準備就緒,然而只需點擊幾下WebDriver就可以執行幾分鐘的操作。該網站必須與WebDriver發生衝突。就這樣說,它看起來像Jsoup不是答案。 – Andrio
哦,我完全同意UI測試比較慢,我會第一個推薦一個純粹的HTTP替代方案,即「分鐘」非常極端。如果您能夠發佈特定的內容,我會對診斷感興趣嗎? –