我编写了一个脚本,该脚本从页面中获取数据,但是有时页面需要花费一些时间来加载,因此当将html拉到汤对象中时,有时它什么也不会拉,因为页面仍然需要完成。
我编写了以下代码以等待页面完成。
def scrape_page(url): browser.get(url) try: WebDriverWait(browser, 10).until(EC.presence_of_element_located(browser.find_element_by_id ("selection-box"))) #Extract Source Code html = browser.page_source; soup = BeautifulSoup(html)
有用
但是调用函数时出现以下错误;
TypeError: find_element() argument after * must be a sequence, not WebElement
我认为您应该这样使用presence_of_element_located:
presence_of_element_located
element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "myDynamicElement")) )
如手册所述。