【问题标题】:I cant switch selenium to iframe我无法将硒切换到 iframe
【发布时间】:2022-01-12 02:22:27
【问题描述】:
我尝试了所有方法,但无法将 selenium 切换到 iframe。
如果您click here,然后单击名字 (Maria José Panichi Vieira),然后单击 (contato),则会打开一个框架。
任何人都可以转到链接并告诉我如何切换到它吗?
【问题讨论】:
标签:
python-3.x
selenium
selenium-webdriver
【解决方案1】:
wait=WebDriverWait(driver, 60)
url = "http://buscatextual.cnpq.br/buscatextual/busca.do?metodo=forwardPaginaResultados®istros=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 width="100%" height="500px" frameborder="0" scrolling="no" allowtransparency="true" src="/buscatextual/email.do?metodo=apresentar&seqIdPessoa=246740&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