簡體   English   中英

使用 selenium 抓取網站的價格

[英]Scraping website for prices using selenium

我刪除了舊帖子,因為它不夠清楚。

我正在使用 selenium 抓取網站,我面臨的問題是在使用抓取字段時

driver.get('****')
driver.find_element_by_id('fb_submit').click()
driver.find_element_by_id('email').send_keys('')
driver.find_element_by_id('password').send_keys('')
driver.find_element_by_id('btn-login').click()
driver.get('****')
driver.find_elements_by_xpath(//[@class='price']) 

是該字段首先填充檢索,直到數據填充到頁面中。 因此,它使用 ["retrieving" 而不是定價] 檢索列表我如何解決這種情況,我嘗試使用等待驅動器,但它已經被填充。\

                while tt:
                    elem =driver.find_elements_by_xpath('.//td[@data-title="Availability"]')
                    elem =[d.text for d in elem]
                    Availability = sele.xpath('.//td[@data-title="Availability"]/text()').extract()

                    # elemList =[d for d in elem]
                    for i in elem:

                        if "retreiving" not in i.lower() or "Retreiving" not in i or i != "Retreiving" :
                            tt = False
                            print(i,tt)
                        else:
                            tt =True
                            print("else" ,i, tt)
                    time.sleep(0.5)

更新:

這是我嘗試過但仍然無法正常工作的方法...

第二次更新:


   WebDriverWait(driver, 10).until_not(EC.text_to_be_present_in_element((By.XPATH, ".//td[@data-title='Availability']"), "Retreiving"))

如果將包含價格的元素與在除其包含的文本之外的所有內容中顯示“檢索”的元素相同(即該元素在獲取價格之前和之后只有price class),您可以編寫一些邏輯以等待元素包含你想要的數據?

就像是

while True:
    element_text = driver.find_elements_by_xpath(//[@class='price']).text
    if "retreiving" not in element_text:
        break
    time.sleep(1)

# element_text might contain the prices at this point
print(element_text)

暫無
暫無

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

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