一 图片验证码
# 定位到图片的标签
img = driver.find_element(By.XPATH, '标签的XPATH')
# 截取验证码图片 并保存
img.screenshot('1.png')
二 滑动验证码
# 6.找到滑动验证码的iframe 然后定位到图片的标签
iframe2 = driver.find_element(By.XPATH,'iframe的XPATH')
driver.switch_to.frame(iframe)
# 7.定位到图片的标签
img = driver.find_element(By.XPATH, '标签的XPATH')
# 8.截取验证码图片 并保存
img.screenshot('1.png')
三 翻页处理
while True:
# 4.翻页 加异常处理
try:
driver.find_element(By.LINK_TEXT,'下一页').click()
# 5.等待数据加载完成
time.sleep(3)
except Exception as e:
print(e)
print('数据爬取成功')
driver.quit()
break
四 等待
# 隐式等待
# 后续的所有标签定位(find_element和find_elements)都会建立在指定的10秒内,10秒内加载完成就继续往后走,否则报错 4秒加载完成就4秒走
driver.implicitly_wait(10)
# 显式等待: 针对某一个标签定位
WebDriverWait(driver,20).until(
EC.presence_of_all_elements_located((By.LINK_TEXT,'地图'))
).click()