I opened the Chrome development console pane and evaluated this expression:
Array.from(document.querySelectorAll("div.fc-event-inner")).filter(e => {
let r = e.getBoundingClientRect();
return (r.left < 1354) && (r.top < 531) && (r.right > 1167) && (r.bottom > 487);})
It returned an empty array.
Then I used the "Select an element in the page to inspect it" button in the development pane to click on an element and see my element expanded in the element list. Then I re-evaluated the same expression and it returned an array of 2 elements even though nothing on the page had moved. Why am I getting inconsistent results?
BTW, I probably should have simplified the question. I think the same is true when I simply evaluate
document.querySelectorAll("div.fc-event-inner")
Edit: I am trying to evaluate the contents of each IFrame before running my target querySelectorAll. When I evaluate this expression, things are OK, but I still don't get any updated results:
document.querySelectorAll("iframe")[0].contentWindow.document.childElementCount
But when I try to evaluate this condition:
document.querySelectorAll("iframe")[1].contentWindow
Chrome has a rather hard error (STATUS_BREAKPOINT):
I am able to circumvent this error using eval, but I find that the content of the iframe is blank:
eval("document.querySelectorAll(\"iframe\")[1].contentWindow.document.body.outerHTML")
Result: "<body></body>"