标题内容是通过Ajax呈现的:
<script>
$(document).ready(function() {
var loadingTimer = setInterval(animate_loading, 66);
$.post('home/load_header', {}, function(data) {
clearInterval(loadingTimer);
$("#header_content").html(data);
});
});
</script>
我正在尝试到达.switch_language
,但是当我在CTR+U
窗口中签入时,html中没有这样的东西。上面只有JS。 .switch_language
存在,但只能在F12/ELements
选项卡中找到它。也尝试过wait(SECONDS)
,waitForSelector
。每次Cannot dispatch click event on non-existing element
。
答案 0 :(得分:1)
CTRL + U是“查看页面源”,它显示发送到浏览器的服务器端HTML。它不包含实时DOM的结构,也不包含在页面提供给您之后发生的任何更改-意味着由JavaScript或异步事件(如Ajax)更改的任何内容。
对于实时DOM,您应该使用Web检查器(或等效工具...不同的浏览器将其称为略有不同的东西-Chrome中的DevTools)。
由于使用的是JQuery,因此可以将事件附加到尚不存在的元素(带有live())。