Estoy tratando de reproducir un video dentro de un <iframe> usando selenio con node.js. Yo he tratado
`driver.sleep("2000"); await driver.switchTo().frame(0); let playVideo = By.id("shakaVid"); // await driver.switchTo().frame(driver.findElement(playVideo)); await driver.wait(until.elementLocated(playVideo), 15*1000); await driver.findElement(playVideo).play();` TimeoutError: Waiting for element to be located By(css selector, *[id="shakaVid"]) También probé By.css("iframe html > body > video") pero ninguno de estos funciona. Y no sé cómo probar que Selenium está cambiando su enfoque a iframe. Entonces, he probado varias cosas.
Parece que ese no es el primer marco, intente dar un elemento web para iframe en lugar de indexar:
let iframe = By.cssSelector("iframe[name^='vdoFrame'][src*='playerAssets']"); await driver.switchTo().frame(driver.findElement(iframe)); si este selector css iframe[id^='vdoFrame'][src*='playerAssets'] está ubicando el iframe correcto (verifique eso en la sección de elementos cuando lo inspeccionemos), entonces debería poder cambiar a iframe y al resto de su código debería funcionar bien.