Chrome控制台的妙用之使用XPATH

2021-09-23 20:41:48 字數 2094 閱讀 4232

谷歌瀏覽器,對於作為程式設計師的我們來說可以是居家必備了,應該用的相當的熟悉了,我們用的最多的應該是network選項吧,一般用來分析網頁載入的請求資訊,比如post引數之類的,這些基本的功能基本上夠用了,今天我說的不是network模組,而是console命令模組的使用,

關於console命令的使用網上也有很多的介紹了,但是大多數的都是互相抄襲,根本不知道誰才是作者,在此和大家分享一下 谷歌控制台的命令的妙用。

通過網上的資訊我得知

目前控制台方法和屬性有:

["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileend", "monitorevents", "unmonitorevents", "inspect", "copy", "clear", "geteventlisteners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]

今天說的是$x命令。

簡單的說下這個xpath,//表示的是不管前面多少級都匹配(包含一級),/是只匹配一級 ,@符號表示的是取元素的屬性後面緊跟的=內容就是這個值"editor_edit",看上圖我們發現div***挨著的還是div,然後div再下一級就是span了,到此時下xpath可以寫成這樣了、//div[@id='editor_edit']/div/span

但是我們獲取的是span的這個節點,文字資訊一般在節點裡面,獲取節點的文字我們用text(),到目前來說我們已經寫完了,但是這裡要注意的一點是,不同的語言和工具在選擇xpath的一些資訊的時候,多多少少有點不同,這裡我們看一下,我們執行完xpath之後的結果

我們發現我們獲取了乙個text的節點而不是文字資訊,這時候呢,如果在python中使用lxml的已經可以成功獲取文字值了,但是控制台的還要再操作一步

就是我們需要獲取它的nodevalue屬性才可以。我們再進一步寫就是這一樣

$x("//div[@id='editor_edit']/div/span/text()")[0]

在這裡說個小技巧,我們在寫完上面的內容之後 會發現我們點方法的時候點不出東西,這個時候我們可以這樣寫

var temp=$x("//div[@id='editor_edit']/div/span/text()")[0]

獲取之後我們再看結果,咦underfined,逗我呢,?

emmm。。 ,,相信大家在初學python的時候也遇到過相似的問題,方法的預設返回值none,嗯 這個時候我們就知道了

這個情況型別,不用在乎這個返回值了,我們需要的不是這個值,經過上面的操作,我們做了一件什麼事兒呢,

把獲取的節點結果賦值給temp這個變數,此時temp可以作為全域性變數存在,好了這時候 我們temp.一下發現 好多屬性提示都出來了

ok,這個$x的功能就是這麼簡單,同時我們在除錯過程中也方便了許多。喜歡的小伙兒們隨手**一下吧,後續和大家分析其他的關於谷歌瀏覽器控制台的操作內容。

上面都是對元素進行一次xpath操作,有時候我們需要在當前節點下面操作節點,這時候怎麼做呢,

我在網上找到了$x的原始碼:

$x=function (xpath, context)

} catch (e)

returnnodes;

}

$x(".//input[@type='submit']",$x("//form[@id='form']"))

控制台引數的妙用

測試一些方法,有些引數需要變化,於是想到用迴圈來變動引數。但引數一變化,而方法內有類似快取的機制,裡面不動,一定要用迴圈的話,得改好多地方,改了一會還是有部分地方不能用,有點絕望了,難道要乙個個地去輸入?突然想到了控制台的引數,還是挺好用的。using system console.writelin...

chrome控制台小技巧

對於大多數開發人員來說,chrome控制台最常用的命令就是 console.log 了,然後還有一些其他類似的命令,如 console.info 提示資訊 console.error 錯誤資訊 console.warn 警示資訊 然而,這些命令可能很多人都知道,然而,console.log 支援的多...

Chrome 控制台console的用法

google瀏覽器除錯時可能會用到 1 console.log用於輸出普通資訊 2 console.info用於輸出提示性資訊 3 console.error用於輸出錯誤資訊 4 console.warn用於輸出警示資訊 7 console.assert對輸入的表示式進行斷言,只有表示式為false...