如果没有名称或 ID,如何找到 iframe?
How can I find an iframe when it doesn't have a name or id?
我正在制作一个 selenium 项目,作为其中的一部分,我需要在 www.allmovie.com 上登录一个帐户。我注意到当点击“登录”按钮时它会切换到 iframe
。要求我对项目中的所有 iframes
使用 driver.switchTo().frame()
,但我无法识别登录页面的 ID、名称或索引。我可以在这里做什么?
login page image
iframe
就像任何其他网络元素一样,可以通过 id、class、标签、xpath、css 等定位,而不仅仅是通过 id.
因此 iframe
可以通过跟随 css_selector
iframe
来定位,因为它是该元素的唯一标记名称。
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe")));
或使用 //iframe
xpath
选择器。
driver.switchTo().frame(driver.findElement(By.xpath("//iframe")));
添加一些等待并检查
Python Selenium
中的代码片段
iframe = WebDriverWait(driver,2).until(EC.presence_of_element_located((By.CSS_SELECTOR, "body > div.login-modal > iframe")))
driver.switch_to.frame(iframe)
我正在制作一个 selenium 项目,作为其中的一部分,我需要在 www.allmovie.com 上登录一个帐户。我注意到当点击“登录”按钮时它会切换到 iframe
。要求我对项目中的所有 iframes
使用 driver.switchTo().frame()
,但我无法识别登录页面的 ID、名称或索引。我可以在这里做什么?
login page image
iframe
就像任何其他网络元素一样,可以通过 id、class、标签、xpath、css 等定位,而不仅仅是通过 id.
因此 iframe
可以通过跟随 css_selector
iframe
来定位,因为它是该元素的唯一标记名称。
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe")));
或使用 //iframe
xpath
选择器。
driver.switchTo().frame(driver.findElement(By.xpath("//iframe")));
添加一些等待并检查 Python Selenium
中的代码片段iframe = WebDriverWait(driver,2).until(EC.presence_of_element_located((By.CSS_SELECTOR, "body > div.login-modal > iframe")))
driver.switch_to.frame(iframe)