btcp-browser-agent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CLAUDE.md +230 -0
  2. package/LICENSE +21 -0
  3. package/README.md +309 -0
  4. package/SKILL.md +143 -0
  5. package/SNAPSHOT_IMPROVEMENTS.md +302 -0
  6. package/USAGE.md +146 -0
  7. package/dist/index.d.ts +34 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +35 -0
  10. package/dist/index.js.map +1 -0
  11. package/docs/browser-cli-design.md +500 -0
  12. package/examples/chrome-extension/CHANGELOG.md +210 -0
  13. package/examples/chrome-extension/DEBUG.md +231 -0
  14. package/examples/chrome-extension/ERROR_FIXED.md +147 -0
  15. package/examples/chrome-extension/QUICK_TEST.md +189 -0
  16. package/examples/chrome-extension/README.md +149 -0
  17. package/examples/chrome-extension/SESSION_ONLY_MODE.md +305 -0
  18. package/examples/chrome-extension/TEST_WITH_YOUR_TABS.md +97 -0
  19. package/examples/chrome-extension/build.js +43 -0
  20. package/examples/chrome-extension/manifest.json +37 -0
  21. package/examples/chrome-extension/package-lock.json +1063 -0
  22. package/examples/chrome-extension/package.json +21 -0
  23. package/examples/chrome-extension/popup.html +195 -0
  24. package/examples/chrome-extension/src/background.ts +12 -0
  25. package/examples/chrome-extension/src/content.ts +7 -0
  26. package/examples/chrome-extension/src/popup.ts +303 -0
  27. package/examples/chrome-extension/src/scenario-google-github.ts +389 -0
  28. package/examples/chrome-extension/test-page.html +127 -0
  29. package/examples/chrome-extension/tests/README.md +206 -0
  30. package/examples/chrome-extension/tests/scenario-google-to-github-star.ts +380 -0
  31. package/examples/chrome-extension/tsconfig.json +14 -0
  32. package/examples/snapshots/README.md +207 -0
  33. package/examples/snapshots/amazon-com-detail.html +9528 -0
  34. package/examples/snapshots/amazon-com-detail.snapshot.txt +997 -0
  35. package/examples/snapshots/convert-snapshots.ts +97 -0
  36. package/examples/snapshots/edition-cnn-com.html +13292 -0
  37. package/examples/snapshots/edition-cnn-com.snapshot.txt +562 -0
  38. package/examples/snapshots/github-com-microsoft-vscode.html +2916 -0
  39. package/examples/snapshots/github-com-microsoft-vscode.snapshot.txt +455 -0
  40. package/examples/snapshots/google-search.html +20012 -0
  41. package/examples/snapshots/google-search.snapshot.txt +195 -0
  42. package/examples/snapshots/metadata.json +86 -0
  43. package/examples/snapshots/npr-org-templates.html +2031 -0
  44. package/examples/snapshots/npr-org-templates.snapshot.txt +224 -0
  45. package/examples/snapshots/stackoverflow-com.html +5216 -0
  46. package/examples/snapshots/stackoverflow-com.snapshot.txt +2404 -0
  47. package/examples/snapshots/test-all-mode.html +46 -0
  48. package/examples/snapshots/test-all-mode.snapshot.txt +5 -0
  49. package/examples/snapshots/validate.test.ts +296 -0
  50. package/package.json +65 -0
  51. package/packages/cli/package.json +42 -0
  52. package/packages/cli/src/__tests__/cli.test.ts +434 -0
  53. package/packages/cli/src/__tests__/errors.test.ts +226 -0
  54. package/packages/cli/src/__tests__/executor.test.ts +275 -0
  55. package/packages/cli/src/__tests__/formatter.test.ts +260 -0
  56. package/packages/cli/src/__tests__/parser.test.ts +288 -0
  57. package/packages/cli/src/__tests__/suggestions.test.ts +255 -0
  58. package/packages/cli/src/commands/back.ts +22 -0
  59. package/packages/cli/src/commands/check.ts +33 -0
  60. package/packages/cli/src/commands/clear.ts +33 -0
  61. package/packages/cli/src/commands/click.ts +32 -0
  62. package/packages/cli/src/commands/closetab.ts +31 -0
  63. package/packages/cli/src/commands/eval.ts +41 -0
  64. package/packages/cli/src/commands/fill.ts +30 -0
  65. package/packages/cli/src/commands/focus.ts +33 -0
  66. package/packages/cli/src/commands/forward.ts +22 -0
  67. package/packages/cli/src/commands/goto.ts +34 -0
  68. package/packages/cli/src/commands/help.ts +162 -0
  69. package/packages/cli/src/commands/hover.ts +34 -0
  70. package/packages/cli/src/commands/index.ts +129 -0
  71. package/packages/cli/src/commands/newtab.ts +35 -0
  72. package/packages/cli/src/commands/press.ts +40 -0
  73. package/packages/cli/src/commands/reload.ts +25 -0
  74. package/packages/cli/src/commands/screenshot.ts +27 -0
  75. package/packages/cli/src/commands/scroll.ts +64 -0
  76. package/packages/cli/src/commands/select.ts +35 -0
  77. package/packages/cli/src/commands/snapshot.ts +21 -0
  78. package/packages/cli/src/commands/tab.ts +32 -0
  79. package/packages/cli/src/commands/tabs.ts +26 -0
  80. package/packages/cli/src/commands/text.ts +27 -0
  81. package/packages/cli/src/commands/title.ts +17 -0
  82. package/packages/cli/src/commands/type.ts +38 -0
  83. package/packages/cli/src/commands/uncheck.ts +33 -0
  84. package/packages/cli/src/commands/url.ts +17 -0
  85. package/packages/cli/src/commands/wait.ts +54 -0
  86. package/packages/cli/src/errors.ts +164 -0
  87. package/packages/cli/src/executor.ts +68 -0
  88. package/packages/cli/src/formatter.ts +215 -0
  89. package/packages/cli/src/index.ts +257 -0
  90. package/packages/cli/src/parser.ts +195 -0
  91. package/packages/cli/src/suggestions.ts +207 -0
  92. package/packages/cli/src/terminal/Terminal.ts +365 -0
  93. package/packages/cli/src/terminal/index.ts +5 -0
  94. package/packages/cli/src/types.ts +155 -0
  95. package/packages/cli/tsconfig.json +20 -0
  96. package/packages/core/package.json +35 -0
  97. package/packages/core/src/actions.ts +1210 -0
  98. package/packages/core/src/errors.ts +296 -0
  99. package/packages/core/src/index.test.ts +638 -0
  100. package/packages/core/src/index.ts +220 -0
  101. package/packages/core/src/ref-map.ts +107 -0
  102. package/packages/core/src/snapshot.ts +873 -0
  103. package/packages/core/src/types.ts +536 -0
  104. package/packages/core/tsconfig.json +23 -0
  105. package/packages/extension/README.md +129 -0
  106. package/packages/extension/package.json +43 -0
  107. package/packages/extension/src/background.ts +888 -0
  108. package/packages/extension/src/content.ts +172 -0
  109. package/packages/extension/src/index.ts +579 -0
  110. package/packages/extension/src/session-manager.ts +385 -0
  111. package/packages/extension/src/session-types.ts +144 -0
  112. package/packages/extension/src/types.ts +162 -0
  113. package/packages/extension/tsconfig.json +28 -0
  114. package/src/index.ts +64 -0
  115. package/tsconfig.build.json +12 -0
  116. package/tsconfig.json +26 -0
  117. package/vitest.config.ts +13 -0
@@ -0,0 +1,195 @@
1
+ PAGE: http://localhost/ | hello - Google Search | viewport=1024x768
2
+ SNAPSHOT: elements=2347 refs=192
3
+
4
+ LINK "here" @ref:0 /a
5
+ LINK "Accessibility help" @ref:1 /a[2]
6
+ LINK "Go to Google Home" @ref:2 /div#searchform/form#tsf/a#logo
7
+ LINK "webhp" @ref:3 /div#searchform/form#tsf/a#_KqRraf7aHOHG1e8PieqD8Ak_1
8
+ COMBOBOX "Search" @ref:4 /div#searchform/form#tsf/textarea#APjFqb
9
+ BUTTON "Clear" @ref:5 /div#searchform/form#tsf
10
+ BUTTON "Search by voice" @ref:6 /div#searchform/form#tsf
11
+ BUTTON "Search by image" @ref:7 /div#searchform/form#tsf
12
+ BUTTON "Search" @ref:8 /div#searchform/form#tsf/button
13
+ BUTTON "Close Choose what you’re giving feedback on" @ref:9 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#_KqRraf7aHOHG1e8PieqD8Ak_11
14
+ LISTBOX @ref:10 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#shJ2Vb[3]/ul
15
+ OPTION @ref:11 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#YMXe[1]
16
+ BUTTON "Delete" @ref:12 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#YMXe[1]
17
+ OPTION @ref:13 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#d6ItKb[2]/div#fU0xAb
18
+ BUTTON "Word pronunciation" @ref:14 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#d6ItKb[2]/div#fU0xAb
19
+ BUTTON "See more" @ref:15 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#d6ItKb[2]/div#fU0xAb
20
+ OPTION @ref:16 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#JglY8e[3]
21
+ OPTION @ref:17 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#JglY8e[3]/div#GTYqfc
22
+ BUTTON "Word pronunciation" @ref:18 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#JglY8e[3]/div#GTYqfc
23
+ OPTION @ref:19 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#JglY8e[3]/div#GTYqfc
24
+ BUTTON "Word pronunciation" @ref:20 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#JglY8e[3]/div#GTYqfc
25
+ BUTTON "Delete" @ref:21 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#mitGyb[4]
26
+ OPTION @ref:22 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#fU0xAb[7]
27
+ BUTTON "Word pronunciation" @ref:23 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#fU0xAb[7]
28
+ BUTTON "See more" @ref:24 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#fU0xAb[7]
29
+ OPTION @ref:25 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#GTYqfc[8]
30
+ BUTTON "Word pronunciation" @ref:26 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#GTYqfc[8]
31
+ OPTION @ref:27 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#GTYqfc[8]
32
+ BUTTON "Word pronunciation" @ref:28 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#GTYqfc[8]
33
+ OPTION @ref:29 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/li#TN4rFf[5]
34
+ BUTTON "Report inappropriate predictions" @ref:30 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]
35
+ BUTTON "See more" @ref:31 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#TWnylf[6]/g-popup#ow17
36
+ MENUITEM "Dismiss" @ref:32 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#TWnylf[6]/g-popup#ow17
37
+ OPTION @ref:33 /div#searchform/form#tsf/div#_KqRraf7aHOHG1e8PieqD8Ak_5[3]/div#dh215c[7]
38
+ TEXTBOX @ref:34 [type=hidden] /div#searchform/form#tsf/div#tophf[2]/input[1]
39
+ TEXTBOX @ref:35 [type=hidden] /div#searchform/form#tsf/div#tophf[2]/input[2]
40
+ TEXTBOX @ref:36 [type=hidden] /div#searchform/form#tsf/div#tophf[2]/input[3]
41
+ BUTTON "Search Labs" @ref:37 /div#searchform/header#gb/a
42
+ BUTTON "Google apps" @ref:38 /div#searchform/header#gb/div#gbwa[2]/a
43
+ BUTTON "Google Account: Minh Luc (luk.mink@gmail.com)" @ref:39 /div#searchform/header#gb/a
44
+ LINK "AI Mode" @ref:40 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/a
45
+ LINK "Images" @ref:41 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/a
46
+ LINK "Videos" @ref:42 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/a
47
+ LINK "Short videos" @ref:43 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/a
48
+ LINK "Shopping" @ref:44 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/a
49
+ LINK "News" @ref:45 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/a
50
+ BUTTON "More" @ref:46 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20
51
+ LINK "Web" @ref:47 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/div#_KqRraf7aHOHG1e8PieqD8Ak_21/div#KqRraf7aHOHG1e8PieqD8Ak__17[1]/a
52
+ LINK "Books" @ref:48 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/div#_KqRraf7aHOHG1e8PieqD8Ak_21/div#KqRraf7aHOHG1e8PieqD8Ak__18[2]/a
53
+ LINK "Flights" @ref:49 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/div#_KqRraf7aHOHG1e8PieqD8Ak_21/div#KqRraf7aHOHG1e8PieqD8Ak__20[3]/a
54
+ LINK "Finance" @ref:50 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/div#_KqRraf7aHOHG1e8PieqD8Ak_21/div#KqRraf7aHOHG1e8PieqD8Ak__21[4]/a
55
+ BUTTON "Tools" @ref:51 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20/div#_KqRraf7aHOHG1e8PieqD8Ak_31[2]/div#hdtb-tls
56
+ BUTTON "Previous" @ref:52 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20
57
+ BUTTON "Next" @ref:53 /div#main[3]/div#cnt/div#_KqRraf7aHOHG1e8PieqD8Ak_20
58
+ BUTTON @ref:54 /div#main[3]/div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1
59
+ BUTTON "Any time" @ref:55 /div#main[3]/div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17
60
+ LINK "Any time" @ref:56 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/a
61
+ LINK "Past hour" @ref:57 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/a
62
+ LINK "Past 24 hours" @ref:58 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/a
63
+ LINK "Past week" @ref:59 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/a
64
+ LINK "Past month" @ref:60 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/a
65
+ LINK "Past year" @ref:61 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/a
66
+ BUTTON "Custom range... Customised date range FromTo Go" @ref:62 /div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18
67
+ BUTTON @ref:63 /div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18
68
+ BUTTON "Close" @ref:64 /div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18
69
+ TEXTBOX @ref:65 [type=hidden] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input[1]
70
+ TEXTBOX @ref:66 [type=hidden] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input[2]
71
+ TEXTBOX @ref:67 [type=hidden] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input[3]
72
+ TEXTBOX @ref:68 [type=hidden] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input[4]
73
+ TEXTBOX @ref:69 [type=hidden] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input#HjtPBb[5]
74
+ TEXTBOX @ref:70 [type=hidden] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input[6]
75
+ TEXTBOX "From" @ref:71 /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input#OouJcb[7]
76
+ TEXTBOX "To" @ref:72 /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input#rzG2be[8]
77
+ BUTTON "Go" @ref:73 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe
78
+ BUTTON @ref:74 [type=submit] /div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18/form#T3kYXe/input[9]
79
+ BUTTON @ref:75 /div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_18
80
+ BUTTON "All results" @ref:76 /div#main[3]/div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17
81
+ LINK "All results" @ref:77 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_24/a
82
+ LINK "Verbatim" @ref:78 /div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17/div#_KqRraf7aHOHG1e8PieqD8Ak_24/a
83
+ LINK "Advanced Search" @ref:79 /div#main[3]/div#cnt/div#top_nav[6]/div#hdtb/div#tn_KqRraf7aHOHG1e8PieqD8Ak_1/div#_KqRraf7aHOHG1e8PieqD8Ak_17
84
+ BUTTON "About this result" @ref:80 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
85
+ LINK "Adele - Hello (Official Music Video) YouTube · ..." @ref:81 /div#center_col[1]/div#res[2]/div#search[2]/div#rso/div#ow14/a
86
+ BUTTON "About this result" @ref:82 /div#center_col[1]/div#res[2]/div#search[2]/div#rso/div#ow14/div
87
+ BUTTON "Adele - Hello (Official Music Video) by Adele o..." @ref:83 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div#ow14
88
+ LINK "Adele - Hello (Official Music Video) YouTube·Ad..." @ref:84 /div#res[2]/div#search[2]/div#rso/div#ow14/div[2]/a[1]
89
+ LINK "YouTube" @ref:85 /div#res[2]/div#search[2]/div#rso/div#ow14/div[2]/a[2]
90
+ LINK "Lionel Richie - Hello (Official Music Video) Yo..." @ref:86 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
91
+ BUTTON "About this result" @ref:87 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
92
+ LINK "Lionel Richie - Hello (Official Music Video) by..." @ref:88 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
93
+ LINK "Hello YouTube · Adele - Topic Dec 21, 2019" @ref:89 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
94
+ BUTTON "About this result" @ref:90 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
95
+ BUTTON "Hello by Adele - Topic on YouTube. Play on Goog..." @ref:91 /div#cnt/div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso
96
+ LINK "Hello YouTube·Adele - Topic·Dec 21, 2019" @ref:92 /div#center_col[1]/div#res[2]/div#search[2]/div#rso/div[2]/a[1]
97
+ LINK "YouTube" @ref:93 /div#center_col[1]/div#res[2]/div#search[2]/div#rso/div[2]/a[2]
98
+ LINK "Nam Em - HELLO | Sáng tác: Richie Lionel | From..." @ref:94 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
99
+ BUTTON "About this result" @ref:95 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
100
+ BUTTON "Nam Em - HELLO | Sáng tác: Richie Lionel | From..." @ref:96 /div#cnt/div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso
101
+ LINK "Nam Em - HELLO | Sáng tác: Richie Lionel | From..." @ref:97 /div#center_col[1]/div#res[2]/div#search[2]/div#rso/div[2]/a[1]
102
+ LINK "YouTube" @ref:98 /div#center_col[1]/div#res[2]/div#search[2]/div#rso/div[2]/a[2]
103
+ LINK "View all videos" @ref:99 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
104
+ LINK "HELLO | Định nghĩa trong Từ điển tiếng Anh Camb..." @ref:100 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
105
+ BUTTON "About this result" @ref:101 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
106
+ LINK "Hello – Wikipedia tiếng Việt Wikipedia https://..." @ref:102 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
107
+ LINK "Translate this page" @ref:103 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
108
+ BUTTON "About this result" @ref:104 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
109
+ LINK "Read more" @ref:105 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
110
+ LINK "HELLO! - Daily royal, celebrity, fashion, beaut..." @ref:106 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
111
+ BUTTON "About this result" @ref:107 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
112
+ LINK "hello network hello network https://www.hello.com" @ref:108 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
113
+ BUTTON "About this result" @ref:109 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
114
+ LINK "Read more" @ref:110 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
115
+ LINK "The Best & Fastest WordPress Theme: Hello by El..." @ref:111 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
116
+ BUTTON "About this result" @ref:112 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
117
+ LINK "Read more" @ref:113 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
118
+ LINK "no hello no hello https://nohello.net › ..." @ref:114 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
119
+ BUTTON "About this result" @ref:115 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
120
+ LINK "Read more" @ref:116 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
121
+ LINK "Hello Wikipedia https://en.wikipedia.org › wiki..." @ref:117 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
122
+ BUTTON "About this result" @ref:118 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
123
+ LINK "Read more" @ref:119 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
124
+ LINK "Hello" @ref:120 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
125
+ LINK "Hello Products Hello Products https://www.hello..." @ref:121 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
126
+ BUTTON "About this result" @ref:122 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/div
127
+ LINK "Read more" @ref:123 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
128
+ LINK "www.hello products" @ref:124 /div#rcnt[12]/div#center_col[1]/div#res[2]/div#search[2]/div#rso/a
129
+ LINK "Hello meaning" @ref:125 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
130
+ LINK "Hello Song" @ref:126 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
131
+ LINK "Hello Hello google" @ref:127 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
132
+ LINK "Hello Song how are you" @ref:128 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
133
+ LINK "Hello pronunciation" @ref:129 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
134
+ LINK "Hello movie" @ref:130 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
135
+ LINK "English Hello Song" @ref:131 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
136
+ LINK "Hello Hello video" @ref:132 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/div#bres[3]/a
137
+ LINK "Page 2" @ref:133 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
138
+ LINK "Page 3" @ref:134 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
139
+ LINK "Page 4" @ref:135 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
140
+ LINK "Page 5" @ref:136 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
141
+ LINK "Page 6" @ref:137 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
142
+ LINK "Page 7" @ref:138 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
143
+ LINK "Page 8" @ref:139 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
144
+ LINK "Page 9" @ref:140 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
145
+ LINK "Page 10" @ref:141 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a
146
+ LINK "Next" @ref:142 /div#cnt/div#rcnt[12]/div#center_col[1]/div#botstuff[3]/table/a#pnnext
147
+ BUTTON "Close Choose what you’re giving feedback on" @ref:143 /div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uOz6nd[1]/div[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_65
148
+ BUTTON "general feedback" @ref:144 /div#rhs[2]/div#jOAHU/div#uOz6nd[1]/div[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_65/button
149
+ LINK "Hello" @ref:145 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uOz6nd[1]/a
150
+ BUTTON @ref:146 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uOz6nd[1]/g-popup#ow18
151
+ BUTTON "About this result" @ref:147 /div#rhs[2]/div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div
152
+ MENUITEM "Share" @ref:148 /div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]
153
+ BUTTON @ref:149 /div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47
154
+ BUTTON "Close" @ref:150 /div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47
155
+ LINK "Facebook" @ref:151 /div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47/a[1]
156
+ LINK "WhatsApp" @ref:152 /div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47/a[2]
157
+ LINK "X" @ref:153 /div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47/a[3]
158
+ LINK "Email" @ref:154 /div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47/a[4]
159
+ BUTTON "Click to copy link" @ref:155 /div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47
160
+ TEXTBOX "Share link" @ref:156 [type=url] /div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47/input
161
+ BUTTON @ref:157 /div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_44[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_47
162
+ MENUITEM "Send feedback" @ref:158 /div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uOz6nd[1]/g-popup#ow18/div#_KqRraf7aHOHG1e8PieqD8Ak_36[2]
163
+ LINK "search" @ref:159 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uOz6nd[1]/a
164
+ LINK "6:07 YouTube • Adele Adele - Hello (Official Mu..." @ref:160 /div#rhs[2]/div#jOAHU/div#uLEOKb[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_46[1]/div#_KqRraf7aHOHG1e8PieqD8Ak_34/a
165
+ LINK "search" @ref:161 /div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uLEOKb[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_46[1]/a
166
+ LINK "Full lyrics" @ref:162 /div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uLEOKb[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_46[1]/a
167
+ LINK "Musixmatch ›" @ref:163 /div#rcnt[12]/div#rhs[2]/div#jOAHU/div#uLEOKb[2]/div#_KqRraf7aHOHG1e8PieqD8Ak_46[1]/a
168
+ LINK "Adele" @ref:164 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#aaLvqc[3]/a
169
+ LINK "25" @ref:165 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#aaLvqc[3]/a
170
+ LINK "Nhạc Soul" @ref:166 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#aaLvqc[3]/a[1]
171
+ LINK "Luân chuyển/Độc lập" @ref:167 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#aaLvqc[3]/a[2]
172
+ LINK "Apple Music" @ref:168 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#dG0eW[4]/a
173
+ LINK "Deezer" @ref:169 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#dG0eW[4]/a
174
+ LINK "Spotify" @ref:170 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#dG0eW[4]/a
175
+ LINK "Hello Leo Moracchioli·2015" @ref:171 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#AkU20[5]/a
176
+ LINK "Hello Allie Sherlock" @ref:172 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#AkU20[5]/a
177
+ LINK "Hello Walk off the Earth" @ref:173 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#AkU20[5]/a
178
+ LINK "Hello Leroy Sanchez" @ref:174 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#AkU20[5]/a
179
+ LINK "Set Fire to the Rain Adele" @ref:175 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#PP76df[6]/a
180
+ LINK "Someone Like You Adele" @ref:176 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#PP76df[6]/a
181
+ LINK "Skyfall Adele" @ref:177 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#PP76df[6]/a
182
+ LINK "Rolling in the Deep Adele" @ref:178 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#PP76df[6]/a
183
+ LINK "See more" @ref:179 /div#cnt/div#rcnt[12]/div#rhs[2]/div#jOAHU/div#PP76df[6]/a
184
+ BUTTON "close" @ref:180 /div#main[3]/div#cnt/div#spch[21]/button#spchx
185
+ LINK "Try without personalisation" @ref:181 /div#cnt/div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/a
186
+ BUTTON "Hoà Cường Nam, Hòa Cường, Hòa Cường Nam, Hải Ch..." @ref:182 /div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/div#CE62Bb/a
187
+ BUTTON @ref:183 /div#footcnt/div#fbarcnt/div#fbar/div#CE62Bb/span/div#_KqRraf7aHOHG1e8PieqD8Ak_43
188
+ BUTTON @ref:184 /div#footcnt/div#fbarcnt/div#fbar/div#CE62Bb/span/div#_KqRraf7aHOHG1e8PieqD8Ak_43
189
+ BUTTON "Update location Can't update your location Lear..." @ref:185 /div#cnt/div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/div#CE62Bb
190
+ BUTTON "Learn more" @ref:186 /div#footcnt/div#fbarcnt/div#fbar/div#CE62Bb/span[3]/span
191
+ LINK "Help" @ref:187 /div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/span#fsl/a[1]
192
+ LINK "Send feedback" @ref:188 /div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/span#fsl/a[2]
193
+ LINK "Privacy" @ref:189 /div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/span#fsl/a[3]
194
+ LINK "Terms" @ref:190 /div#sfooter[22]/div#footcnt/div#fbarcnt/div#fbar/span#fsl/a[4]
195
+ BUTTON "Close" @ref:191 /div
@@ -0,0 +1,86 @@
1
+ [
2
+ {
3
+ "filename": "amazon-com-detail",
4
+ "htmlFile": "amazon-com-detail.html",
5
+ "snapshotFile": "amazon-com-detail.snapshot.txt",
6
+ "generatedAt": "2026-01-17T15:43:03.385Z",
7
+ "stats": {
8
+ "elementCount": 996,
9
+ "refCount": 994,
10
+ "outputSize": 125721,
11
+ "generationTime": 387
12
+ }
13
+ },
14
+ {
15
+ "filename": "edition-cnn-com",
16
+ "htmlFile": "edition-cnn-com.html",
17
+ "snapshotFile": "edition-cnn-com.snapshot.txt",
18
+ "generatedAt": "2026-01-17T15:43:04.286Z",
19
+ "stats": {
20
+ "elementCount": 561,
21
+ "refCount": 559,
22
+ "outputSize": 56391,
23
+ "generationTime": 100
24
+ }
25
+ },
26
+ {
27
+ "filename": "github-com-microsoft-vscode",
28
+ "htmlFile": "github-com-microsoft-vscode.html",
29
+ "snapshotFile": "github-com-microsoft-vscode.snapshot.txt",
30
+ "generatedAt": "2026-01-17T15:43:04.504Z",
31
+ "stats": {
32
+ "elementCount": 454,
33
+ "refCount": 452,
34
+ "outputSize": 72815,
35
+ "generationTime": 65
36
+ }
37
+ },
38
+ {
39
+ "filename": "google-search",
40
+ "htmlFile": "google-search.html",
41
+ "snapshotFile": "google-search.snapshot.txt",
42
+ "generatedAt": "2026-01-17T15:43:04.743Z",
43
+ "stats": {
44
+ "elementCount": 194,
45
+ "refCount": 192,
46
+ "outputSize": 21115,
47
+ "generationTime": 42
48
+ }
49
+ },
50
+ {
51
+ "filename": "npr-org-templates",
52
+ "htmlFile": "npr-org-templates.html",
53
+ "snapshotFile": "npr-org-templates.snapshot.txt",
54
+ "generatedAt": "2026-01-17T15:43:04.890Z",
55
+ "stats": {
56
+ "elementCount": 223,
57
+ "refCount": 221,
58
+ "outputSize": 23744,
59
+ "generationTime": 27
60
+ }
61
+ },
62
+ {
63
+ "filename": "stackoverflow-com",
64
+ "htmlFile": "stackoverflow-com.html",
65
+ "snapshotFile": "stackoverflow-com.snapshot.txt",
66
+ "generatedAt": "2026-01-17T15:44:57.618Z",
67
+ "stats": {
68
+ "elementCount": 2403,
69
+ "refCount": 2401,
70
+ "outputSize": 309460,
71
+ "generationTime": 112431
72
+ }
73
+ },
74
+ {
75
+ "filename": "test-all-mode",
76
+ "htmlFile": "test-all-mode.html",
77
+ "snapshotFile": "test-all-mode.snapshot.txt",
78
+ "generatedAt": "2026-01-17T15:44:57.629Z",
79
+ "stats": {
80
+ "elementCount": 4,
81
+ "refCount": 2,
82
+ "outputSize": 241,
83
+ "generationTime": 1
84
+ }
85
+ }
86
+ ]