《SeleniumBasic 3.141.0.0 - 在VBA中操作瀏覽器》系列文章之十六:CssSelector定位父子兄弟元素


SeleniumBasic的FindElement共有8個系列方法。其中XPath和CssSelector技巧性最強,其余6種定位方法很直觀簡單。

這節學習使用CssSelector定位一個元素周圍的其他元素。

百度首頁左上角有7個超鏈接,這些超鏈接的父親是id為s-top-left的div,爺爺是id為head的div。

 

首先簡單地說一下CssSelector的語法

"div#s-top-left>a:nth-child(3)"

CssSelector中使用>表示上下兩級的路徑分隔,#表示指定id屬性,小數點表示指定class。

這行代碼表示id為s-top-left的div中,第3個a標簽。請看代碼:

Dim div As IWebElement
Dim map As IWebElement
Set div = WD.FindElementByCssSelector("div[id='s-top-left']")
Set div = WD.FindElementByCssSelector("div#s-top-left")
Debug.Print div.FindElementByCssSelector("a:first-child").text '新聞
Debug.Print div.FindElementByCssSelector("a:last-child").text
Debug.Print div.FindElementByCssSelector("a:nth-child(3)").text '地圖
Set map = WD.FindElementByCssSelector("div#s-top-left>a:nth-child(3)")
Debug.Print map.text '地圖
Debug.Print div.FindElementByCssSelector("a+a+a+a").text '視頻

上述程序中,使用兩種寫法定位到div,然后找到第n個超鏈接。

這種語法比XPath要晦澀,建議大家看看其他資料。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM