1
セレンを使用してページを再解析することはできますか?私は関数を使用してボタンをクリックすると、JavaScriptが原因でHTMLが変化し、ページを再解析してリフレッシュしないようにしたい。Reparse Page Selenium Webドライバ - Python
get/refreshのメソッドは、私が探しているものではないページをリロードさせます。
セレンを使用してページを再解析することはできますか?私は関数を使用してボタンをクリックすると、JavaScriptが原因でHTMLが変化し、ページを再解析してリフレッシュしないようにしたい。Reparse Page Selenium Webドライバ - Python
get/refreshのメソッドは、私が探しているものではないページをリロードさせます。
実際には正確に「再解析」していません。私が理解していることは、ページ上で行われた変更を検出することです。そのためには、WebDriverWait
と組み込みの予想条件のセット(またはwrite a custom one)を使用して、ページ上でその変更が行われるのを待つ必要があります。
たとえば、ボタンをクリックすると、要素がページに追加されたとします。ここでは、この要素が表示されるまで待つ方法です:それは500ミリ秒ごと(デフォルトでは)期待される条件の状態をチェックまで10秒待ちます
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# ...
button.click()
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#id-of-the-added-element")))
# now the page is "re-parsed"
print(driver.page_source)
。