问题描述
我是 bookmarklet 的新手,不确定可以做多少。 我想从网页中获取一些元素,但在我单击某些按钮之前不会显示内容。 我可以使用以下非常简单的代码在静态网页上获取一些内容,但是否可以通过创建书签来获取更深层次的元素。
是否可以使用 javascript bookmarklet 获得深红色圆圈部分?我能够使用 python 模拟用户操作来做到这一点,但我想要更快地获取元素。 请分享一些我可以寻找的方向,似乎可以创建书签并快速完成许多事情。
javascript: (function() {
var v = document.getElementById("view_shade").value ;
alert(v);
})();
第一次进入页面时的html:
解决方法
当然,您可以获得 HTML 的任何部分。
例如,您可以将 querySelectorAll
与 DOM attributes
属性结合使用。
javascript:(function(){
var v = document
.getElementById('view_shade')
.querySelectorAll('[data-guid]')[0]
.attributes["data-guid"]
.value;
alert(v);
})();
<table border="1">
<thead></thead>
<tbody></tbody>
<tr id="view_shade">
<td data-guid="BCC-RED">one</td>
<td>two</td>
</tr>
</table>
根据您当前问题的文本,我认为您不需要 AJAX 来解决此特定问题。
但是在某些情况下,通过书签创建 AJAX 也是可行的,但是,这可能是一个单独的问题,可能取决于 URL、某些服务器问题(例如 CORS 等)等。
AJAX 的一些基础知识:How to make an AJAX call without jQuery?