ホームページ >バックエンド開発 >Python チュートリアル >Selenium と Python を使用して複数のクラス名を持つ Web 要素を効率的に見つけるにはどうすればよいですか?
Web スクレイピング シナリオでは、多くの場合、Web ページ上の要素を見つけることが必要になります。ダイナミックに。動的コンテンツの処理における BeautifulSoup の制限を克服するために、Selenium を統合して、スクレイピングの前に JavaScript 経由で要素がロードされるのを待機できるようにすることができます。
次の Python コードを検討してください。
element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.class, "ng-binding ng-scope")))
この中でコード行の目的は、要素を識別するためのクラス名を指定することです。ただし、By.class 引数内に複数のクラス名が存在すると、エラーが発生する可能性があります。 Selenium は、By.class を介して複数のクラス名を渡すことをサポートしていません。
この問題に対処するには、次の提案を検討してください:
CSS_SELECTOR:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion")))
XPATH:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='ng-binding ng-scope' and @id='tabla_evolucion']")))
これらの変更を組み込むことで、 JavaScript を通じて動的に読み込まれる Web ページ上の要素を効果的に見つけることができ、Web の成功を可能にします。スクレイピング。
以上がSelenium と Python を使用して複数のクラス名を持つ Web 要素を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。