我正在运行的脚本不会从运行到运行返回一致的数据。我相信当我遍历页面时,它并不是在等待所有页面完全加载Javascript和AJAX。为了解决这个问题,我在下面添加了显式等待,但它返回以下错误:
ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝它
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
browser = webdriver.Chrome()
url = 'http://www.website.com'
browser.get(url)
try:
element = WebDriverWait(browser, 10).until(EC.presence_of_all_elements_located((By.ID, "results-main")))
finally:
browser.quit()
print (browser.page_source)
隐式等待将无错误地运行,但它也不会返回一致的源代码。
答案 0 :(得分:0)
我假设您在browser.page_source上收到此异常 这是因为你在做browser.quit Quit() - 用于关闭Web驱动程序实例或销毁Web驱动程序
在退出之前,您需要通过在try块末尾添加print语句或在打印后移动quit来获取页面源:)