技術共有

Selenium Web ページシミュレーションを使用するときに Python が要素を見つけられない場合の解決策 1

2024-07-12

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

Web ページをシミュレートする場合、要素の xpath を明らかにコピーできる場合がありますが、Selenium の xpath クリックを使用して要素をクリックすることはできません。この状況にはいくつかの理由がありますが、この記事ではそのうちの 1 つである iframe について説明します。

たとえば、以下の URL で 2 行目に iframe が表示されている場合、以下のインライン要素は配置されません。このとき、iframe モードに切り替える必要があります。
ここに画像の説明を挿入します

コードは次のとおりです。switch_to.frame() を使用する必要があります。() は Web ページ全体の iframe タグを指します。最初のタグは 0 で、誰もがそれを知っています。ここでWebページのソースコード内を検索することをお勧めします。
完了後、switch_to.default_content() は iframe 編集を終了します。() を埋める必要はありません。

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