Is it possible to emulate the Firefox-console cd function and/or javascript-context-switching in selenium-webriver?
The Firefox Web Console currently (version 80.0.1 as I type this) supports Javascript-context-switching to an iframe through a cd function (albeit set to be removed), as in
var ifr = document.getElementById('frame_id'); cd(ifr);
The same goal can be accomplished
- by selecting a different Javascript context from a drop-down menu in the upper-right corner of the Web Console, as mentioned in that bug;
- similarly in Chrome DevTools (see also an older SO exchange on this).
Question:
Is it possible to achieve the same effect while driving Firefox headless with selenium-webdriver?
Background:
I have a page loading a cross-origin iframe I have no control over, and would like to access DOM elements under that iframe. I can do this in the Web Console, but I have been unsuccessful in doing so via Selenium (specifically, node + the selenium-webdriver package):
Selecting the relevant iframe and then switching to it with
ifr = driver.findElement(By.id('frame_id')); driver.switchTo().frame(ifr);
gives me access to a different DOM than what I see in the Web Console: in Selenium I do not have access to the buttons, forms, etc. available in the browser when I interact with the latter directly.
被采纳的解决方案
The answer is 'yes'. A link to the relevant Stack Overflow discussion:
https://stackoverflow.com/a/63715117/11064961
定位到答案原位置 👍 0所有回复 (1)
选择的解决方案
The answer is 'yes'. A link to the relevant Stack Overflow discussion: