Python で Selenium Webdriver を使用して私がやろうとしていることの説明を次に示します。特定の製品のさまざまなパラメーターを入力として受け取り、それらのパラメーターを使用して製品の価格を出力する Web サイトがあります。1 つを除くすべてのパラメーターを一定に保ち、for ループで 1 つの特定のパラメーターを変化させて、その 1 つの特定のパラメーターに従って価格がどのように変化するかを確認します。パラメータを変更したら、フォームを送信してから、次のように暗黙的に待機します。
submit_btn.click()
driver.implicitly_wait(10)
driver.find_element_by_name("Buy_Product")
soup=BeautifulSoup(driver.page_source)
パラメータの最初のセットを入力すると、ページはクリアで、「Buy_Product」という名前のボタンが含まれていないため、次の行を使用しています
driver.find_element_by_name("Buy_Product")
そのボタンが表示されるのをコードが待機していることを確認します。これは、抽出したい価格がページに含まれていることを意味します。問題は、パラメーターを変更して新しい価格を取得しようとしたときにループを 2 回通過するときに、「Buy_Product」ボタンが既に存在するため、暗黙的に待機が機能しなくなり、価格に時間がかかる前に前の page_source が必要になる場合があることです。更新されます。トリッキーな部分は、パラメータが異なっていても価格が同じ場合があるため、価格の表示テキストが変更されたかどうかを確認できないことです。time.sleep を使用せずにこれを解決する方法はありますか?