Compartilhamento de tecnologia

Solução 1 quando o python não consegue localizar elementos ao usar a simulação de página da web selênio

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Ao simular páginas da web, às vezes podemos obviamente copiar o xpath de um elemento, mas não podemos clicar no elemento usando o clique xpath do Selenium. Existem vários motivos para esta situação. Este artigo escreve sobre um deles - iframe.

Por exemplo, na URL abaixo, se um iframe aparecer na segunda linha, os elementos inline abaixo não serão localizados. Neste momento, precisamos mudar para o modo iframe.
Insira a descrição da imagem aqui

O código é o seguinte, você precisa usar switch_to.frame(), onde () se refere à tag iframe em toda a página web, o primeiro é 0, todo mundo sabe disso.Recomenda-se pesquisar no código-fonte da página da web aqui
Após a conclusão, switch_to.default_content() sai da edição do iframe e não há necessidade de preencher o ().

from selenium.webdriver import Chrome
web = Chrome()

#进入iframe编辑
web.switch_to.frame(2) #第3个iframe标签
time.sleep(1)
#定位到元素
web.find_element(By.XPATH,'//*[@id="root"]/div/div[1]/div[2]/div[1]').click() #点击元素
web.switch_to.default_content()#退出iframe
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9