我编写了一个从页面获取数据的脚本,但有时页面需要时间来加载,因此当它将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)
Run Code Online (Sandbox Code Playgroud)
有用
但是当我调用该函数时,我收到以下错误;
TypeError: find_element() argument after * must be a sequence, not WebElement
Run Code Online (Sandbox Code Playgroud)
我想你应该这样使用presence_of_element_located:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
Run Code Online (Sandbox Code Playgroud)
如手册中所述.
| 归档时间: |
|
| 查看次数: |
6077 次 |
| 最近记录: |