Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple URLs copy in Sources/Network tab

Tags:

Is it possible to extract multiple resources' URLs in Sources or Network tab of Chrome Dev Tools?
When I want to get URL of a single resource, I can do it with context menu function Copy link address

enter image description here

I can switch to this resource from Network to Sources tab and vice versa, but what if I have a need to get URLs of multiple resources at once? It is very cumbersome to copy them manually if resultset consists of 200-300 resources.

What I've tried so far:

  1. To copy the whole folder from a sources tab, but from this answer I found out it is not possible for now.
  2. To use $(selector) as specified in the Console reference, in a form of

    $('img') 

    in case we need to fetch image URLs.

    The complexity of this approach is that it's often hard to distinguish target images on a page that has hundreds of them, and furthermore, multiple versions of the same image (views, previews, small-sized icons and etc.) I.e. to match the element inside the tag with the needed resource is not that easy, as it seems. Also not all the file types have dedicated tags (as in the case with img).

Maybe I should use src tag with some modifiers? Any other suggestions?

like image 990
Suncatcher Avatar asked Dec 17 '16 16:12

Suncatcher


2 Answers

  1. make sure Network panel is active
  2. switch devtools Dock side in the menu to a detached (floating) window

enter image description here

Next time you can press CtrlShiftD to toggle docking.


  1. in the now detached devtools press CtrlShifti or i on MacOS,
    which will open devtools-on-devtools in a new window

  1. Run the following code in this new window:

    copy(UI.panels.network.networkLogView.dataGrid.rootNode().flatNodes.map(n => n.request().urlInternal).join('\n'))

    It'll copy the URLs of all requests that match current filter to clipboard.


Hint: save the code as a Snippet and run it in devtools-on-devtools window via the commands palette, CtrlP or P then type the snippet's name.

In old Chrome the code was different: copy(UI.panels.network._networkLogView._dataGrid._rootNode._flatNodes.map(n => n._request._url).join('\n'))

like image 114
wOxxOm Avatar answered Sep 29 '22 10:09

wOxxOm


I found the above method too clunky, its way easier to use fiddler:

  • open fiddler (possibly install it)
  • filter on the domain name that you are interested in
  • clear the screen
  • refresh the web page
  • Select the fiddler output
  • right click and select copy just the URL's
like image 26
woodwa Avatar answered Sep 29 '22 09:09

woodwa