一尘不染

python selenium等待页面加载

selenium

我编写了一个脚本,该脚本从页面中获取数据,但是有时页面需要花费一些时间来加载,因此当将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

阅读 310

收藏
2020-06-26

共1个答案

一尘不染

我认为您应该这样使用presence_of_element_located

element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement"))
    )

手册所述

2020-06-26