下面是我在Python中使用Selenium Webdriver時要做的事情的描述: 我有我的網站,它將特定產品的各種參數作爲輸入,並用這些參數輸出產品的價格。除了一個參數外,我保持所有參數不變,並在for循環中改變一個特定參數,以查看價格如何根據特定參數而變化。一旦我改變參數i提交表單,然後我用含蓄等待如下:等到頁面刷新
submit_btn.click()
driver.implicitly_wait(10)
driver.find_element_by_name("Buy_Product")
soup=BeautifulSoup(driver.page_source)
當進入第一組參數的頁面是明確的,它不包含按鈕移到名稱爲「Buy_Product」,所以我現在用的線
driver.find_element_by_name("Buy_Product")
,以確保代碼等待該按鈕出現,這將意味着頁面現在包含我想提取的價格。 問題是,第二次通過循環,當我改變參數,並嘗試獲得新的價格按鈕「Buy_Product」已經存在,所以隱含地等待不再工作了,有時它會採取之前的page_source價格之前時間要更新。 棘手的部分是,有時即使對於不同的參數價格是相同的,所以我不能檢查價格的可見文本是否已經改變。 任何想法如何可以解決這個問題,而不使用time.sleep?
是否已移除'wait_for_page_load()'...? – Izkata
你正在重新加載整個頁面或使用JavaScript更新價格? – Edu
你提交一個表格,呈現一個新頁面Edu – luckyfool