簡體   English   中英

只等待一個元素加載 selenium python

[英]Wait only one element to load in selenium python

有沒有一種方法我只需要等待一個元素加載到站點中,然后使用 selenium 將它們從 go 加載到另一個元素?

我正在抓取一個需要很長時間才能加載所有內容的網站,但我需要的信息只是第一個加載的文本。

我正在嘗試這樣的事情:

df = pd.read_csv("file.csv") 
wait =  WebDriverWait(driver, 1)

for site in df.site: 
    driver.get(site)

    search = wait.until(EC.visibility_of_any_elements_located((By.XPATH, '//div[@itemprop="recipeInstructions"]//span[@tabindex="0"]')))
    search = "".join(list(map(lambda x: x.text+"---",search)))

    if(search):
        driver.execute_script("window.stop();")

    print(search)

您只需要等待該特定元素的可見性。
因此,如果//div[@itemprop="recipeInstructions"]//span[@tabindex="0"]是該特定元素的唯一定位器,您可以使用如下代碼:

wait = WebDriverWait(driver, 30)

for site in df.site: 
    driver.get(site)
    text_you_want_to_get_is = wait.until(EC.visibility_of_element_located((By.XPATH, '//div[@itemprop="recipeInstructions"]//span[@tabindex="0"]'))).text

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM