UiBot默認的數據抓取可以抓取整個表格,但是有時候我們並不想抓取整個表格,比方說,我們想將下圖所有的頭像復制到Excel里:
這個時候我們無法使用數據抓取功能,因為我們並不是想抓取數據,而是要操作網頁里的元素。
將上圖頭像復制到Excel里的步驟是:
打開Excel
打開瀏覽器並打開網頁
復制第1個頭像到Excel
復制第2個頭像到Excel
……
復制最后一個頭像的Excel
打開Excel和打開網頁這些功能都比較簡單,可以使用UiBot內置的功能。復制頭像需要寫一個循環,需要一個變量來標記是第幾個頭像,另外我們還需要確定這些頭像的元素。這里我們就需要用到CSS Selector,他可以幫我們定位頭像元素,並且可以和計數變量結合使用。
使用CSS Selector之前,需要學習CSS,當然,CSS並不是很復雜的語言。大家可以到W3CSchool去學習。這里我僅講在UiBot里如何使用CSS Selector。
https://www.w3school.com.cn/css/index.asp
UiBot里使用CSS Selector的方法
第一步:和平時一樣,使用“點擊目標”方法
第二步:進入“源代碼”界面,修改代碼
Mouse.Action({“wnd”:[{“cls”:”Chrome_WidgetWin_1″,”title”:”*”,”app”:”chrome”},{“cls”:”Chrome_RenderWidgetHostHWND”,”title”:”Chrome Legacy Window”}],”html”:{“tagName”:”IMG”,”attrMap”:{“css-selector”:”table.tab-weiboRanking>tbody>tr:nth-of-type(” & i & “) img”},”index”:0}},”right”,”click”,10000,{“bContinueOnError”:false,”iDelayAfter”:500,”iDelayBefore”:200,”bSetForeground”:true,”sCursorPosition”:”Center”,”iCursorOffsetX”:0,”iCursorOffsetY”:0,”sKeyModifiers”:[],”sSimulate”:”simulate”})
上面代碼的i為元素循環計數器。
這樣就大功告成了。有了CSS Selector,UiBot真的可以無限制地操作瀏覽器,功能得到了極大的擴展。
開發者說
{"tabName":" * ","attrMap":{"css-selector":css,"aaname":aname},"index":index}
1、tabName改成 * ,可以直接匹配css的結果,不用改指定元素名
2、css不能通過text抽取,兼容aanme,加上text過濾,默認值設置為"*"
3、index指定元素位置,雖然nth-of-type(),nth-child()都可以指定位置,不過這個相對方便。
綜合:http://www.baladong.com/it/491.html 及 https://forum.uibot.com.cn/thread-5883.htm