Files
camoufox/pythonlib/tests/test_scroll_offset_unmapped.py
T
Jake WriterandClaude Opus 5.5 7b43112e74 fix(python): stop pinning the page's scroll offset from fpgen
fpgen.yml mapped the drawn window.pageYOffset (e.g. 528) to
screen.pageYOffset, and the browser returns that value from scrollY on
every read, so a page saw one scroll position forever whatever the user
did. Real scroll offsets are live page state, not part of a device's
fingerprint, so neither offset is mapped any more.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 20:34:25 -06:00

17 lines
644 B
Python

"""No identity pins the page's scroll offset.
The browser returns a configured screen.pageYOffset from scrollY on every read,
so a drawn value froze the page at one scroll position whatever the user did.
"""
from camoufox.fingerprints import from_fpgen, generate_fingerprint
_SCROLL_KEYS = ("screen.pageXOffset", "screen.pageYOffset")
def test_a_drawn_scroll_offset_is_not_carried_into_the_config():
fingerprint = generate_fingerprint(os="windows")
fingerprint["window"] = {**fingerprint["window"], "pageXOffset": 17, "pageYOffset": 528}
config = from_fpgen(fingerprint, "152")
assert not set(_SCROLL_KEYS) & config.keys()