私は、Webページからいくつかの情報を解析するために、Pythonでセレントと組み合わせてスクリプトを書いています。そのウェブページ上のリンクには店舗名がほとんどありません。いずれかのリンクをクリックすると、ボックスのようなカードが情報を含むポップアップ表示されます。私の意図は、各リンクをクリックし、そのカードから情報を解析することです。しかし、スクリプトを実行すると、timeout exception
というエラーがスローされます。私はブラウザをスクロールして、リンクがクリックできない時間が原因であるかどうかを確かめるために、要素が配置されている位置までスクロールしました。ただし、同じエラーが発生します。どのように私はそれを回避することができますか?前もって感謝します。いくつかの非常にレイアウトされたリンクを扱うことができません
これは、そのWebページへのリンクである:ここではPage Link
は私の試みです:リンクが存在する内
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
driver.get("above_link")
for item in wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "#addresses_list li a"))):
item.click
driver.quit()
要素:
<li style="list-style:none; background-image:url("https://storelocator.w3apps.co/images/orange.png"); background-repeat:no-repeat; background-position:0px 10px; padding:10px; padding-left:35px; border-bottom:1px dashed #ddd;" onmouseover="hoverStart(601538)" onmouseout="hoverStop(601538)"><a href="#" onclick="focus_and_popup(601538); return false;"><div class="gm_add_name">Adel Outfitters</div>1221 W 4th St <br>Adel Georgia 31620<br><div style="display:none" class="w3-address-country">United States</div>229-896-7105</a><div class="gm_add_distance"></div><a target="_blank" class="directions-link" href="http://maps.google.com/?saddr=+&daddr=1221+W 4th St, Adel, Georgia, 31620">Directions<span class="w3-arrow">➲</span></a></li>
リンクが左側に位置していますマップのサイドエリア。
リンクはiframe内にあります(#store-locator-iframe)。そのiframeを最初に切り替えます。また、ポップアップの内容を読むときには、適切なものがアクティブになるのを待つためにいくつかのロジックを入れる必要があります。 – Grasshopper