我已经在python中编写了一个与selenium结合使用的脚本来解析网页中的一些信息。该网页上的商店名称及其链接很少。如果我点击任何一个链接,会弹出一个包含信息的卡片。我的目的是点击每个链接并解析该卡的信息。但是,当我执行我的脚本时,它会抛出显示timeout exception
的错误。我甚至将浏览器向下滚动到元素所在的位置,以确定是否因为时间不能点击任何链接。但是,它仍然会抛出相同的错误。我怎么能绕过那个?提前谢谢。
这是指向该网页的链接: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>
链接位于地图的左侧区域。
答案 0 :(得分:1)
正如@Grasshopper正确建议您需要切换到Pattern.compile("\\b(?:" + regex + ")\\b")
才能处理链接。尝试
iframe