Selenium 如何使用iframe,它是网页的一部分,但无法通过webdriver识别?

Selenium 如何使用iframe,它是网页的一部分,但无法通过webdriver识别?,selenium,Selenium,我正在尝试使用webdriver自动化一个网页,在这里我被一个iframe打动了,我不知道如何处理它 当我通过选择with为iframe选择css时,它给了我#xEditingArea 同样,如果我使用css或id搜索同一iframe,它不会识别任何东西。 我什么都试过了 我想用消息体iframe写一些消息 有人能告诉我怎么处理吗 提前感谢。如果您的网站上只有一个iFrame,您可以尝试使用XPath和标记名访问它。直接访问iFrame是不可能的,它有自己的DOM元素,我们必须切换到该特定帧,然

我正在尝试使用webdriver自动化一个网页,在这里我被一个iframe打动了,我不知道如何处理它

当我通过选择with为iframe选择css时,它给了我#xEditingArea

同样,如果我使用css或id搜索同一iframe,它不会识别任何东西。 我什么都试过了
我想用消息体iframe写一些消息

有人能告诉我怎么处理吗


提前感谢。

如果您的网站上只有一个iFrame,您可以尝试使用XPath和标记名访问它。

直接访问iFrame是不可能的,它有自己的DOM元素,我们必须切换到该特定帧,然后执行您想要的操作

要选择要使用的iframe,请执行以下操作:

driver.switchTo().frame("frame1");
现在,您的驱动程序设置为使用DOM和iframe

重要的是要记住,可能需要切换“返回”。是这样做的:

driver.switchTo().defaultContent(); 

使用Python Selenium WebDriver,您可以通过以下方式访问帧:

from selenium import webdriver

browser = webdriver.Firefox()
browser.switch_to_frame("fame_name_or_id")
如果要确认框架访问正确,只需使用以下命令打印页面内容:

print browser.page_source