現在のコードでsleep(8)の後にpタグを取得していますが、主にネットワークが遅い時にpタグが取得できずエラーが出てしまいます。改善コードのようにwait.until(EC.visibility_of_all_elements_located((By.TAG_NAME, "p")))を使ってpタグが全て取得されるまで待機したいのですが、この行でエラーになります。エラーメッセージが空白のため原因が特定に苦戦しています。
現在のコード
Python
1from selenium.webdriver.support.ui import WebDriverWait 2from selenium.webdriver.support import expected_conditions as EC 3from selenium.webdriver.common.by import By 4try: 5 sleep(8) 6 ps = driver.find_elements(By.TAG_NAME, "p") 7 print(location(), len(ps)) 8except Exceptino as e: 9 print(e)
zsh
1len(ps)の結果が13~17の間でランダムに取得されます
改善コード
Python
1from selenium.webdriver.support.ui import WebDriverWait 2from selenium.webdriver.support import expected_conditions as EC 3from selenium.webdriver.common.by import By 4try: 5 wait.until(EC.visibility_of_all_elements_located((By.TAG_NAME, "p"))) 6 ps = driver.find_elements(By.TAG_NAME, "p") 7 print(location(), len(ps)) 8except Exceptino as e: 9 print(e)
Zsh
1Message: 2
バージョン情報
Python 3.10.8
selenium 4.9.0
firefox 92.0.1 (64 ビット)
回答1件
あなたの回答
tips
プレビュー