我无法将硒切换到 iframe

Posted

技术标签:

【中文标题】我无法将硒切换到 iframe【英文标题】:I cant switch selenium to iframe 【发布时间】:2022-01-12 02:22:27 【问题描述】:

我尝试了所有方法,但无法将 selenium 切换到 iframe。 如果您click here,然后单击名字 (Maria José Panichi Vieira),然后单击 (contato),则会打开一个框架。 任何人都可以转到链接并告诉我如何切换到它吗?

【问题讨论】:

你也可以发布你的代码吗? 【参考方案1】:
wait=WebDriverWait(driver, 60)
url = "http://buscatextual.cnpq.br/buscatextual/busca.do?metodo=forwardPaginaResultados&registros=0;10&query=(%2Bidx_nme_pessoa:(a)%20%20%2Bidx_particao:1%20%2Bidx_nacionalidade:e)%20or%20(%2Bidx_nme_pessoa:(a)%20%20%2Bidx_particao:1%20%2Bidx_nacionalidade:b%20%5E500%20)&analise=cv&tipoOrdenacao=null&paginaOrigem=index.do&mostrarScore=false&mostrarBandeira=true&modoIndAdhoc=null"

driver.get(url)
wait.until(EC.element_to_be_clickable((By.XPATH,"//div[@class='resultado']//ol/li[1]/b/a"))).click()
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#idbtncontato"))).click()

wait.until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"(//div[@class='layout-modalcell conteudo']/iframe)[2]")))
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#nomeRemetente"))).send_keys("stuff")

使用 webdriver 等待使用 frame_to_be_available 切换到该 iframe 并将内容发送到它的输入标签。

<iframe   frameborder="0" scrolling="no" allowtransparency="true" src="/buscatextual/email.do?metodo=apresentar&amp;seqIdPessoa=246740&amp;nomeDestinatario=Maria_José_Panichi_Vieira" cd_frame_id_="e5a878454b90d180bbc777ce26477cd5"></iframe>

进口:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC

【讨论】:

哦,伙计!非常感谢。

以上是关于我无法将硒切换到 iframe的主要内容,如果未能解决你的问题,请参考以下文章

iframe+windows切换

错误切换到iframe selenium python

Selenium基本使用表单切换

通过 Selenium 和 python 切换到 iframe

Python Selenium:如何等待并切换到动态 iframe?

如何使用 Behat/Mink 切换到动态命名的 iframe