Skip to main content
 首页 » 编程设计

python之从 webdriver 中提取更多信息

2024年11月01日32飞鱼

我写了一段代码来从以下网站提取移动模型

"http://www.kart123.com/mobiles/pr?p%5B%5D=sort%3Dfeatured&sid=tyy%2C4io&ref=659eb948-c365-492c-99ef-59bd9f0427c6 "

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
 
driver = webdriver.Firefox() 
driver.get("http://www.kart123.com/mobiles/pr?p%5B%5D=sort%3Dfeatured&sid=tyy%2C4io&ref=659eb948-c365-492c-99ef-59bd9f0427c6") 
elem=[] 
elem=driver.find_elements_by_xpath('.//div[@class="pu-title fk-font-13"]') 
for e in elem: 
 print e.text 

一切正常,但问题出现在页面末尾。它只显示第一页的内容。请你帮我做些什么才能获得所有模型。

请您参考如下方法:

这会让您顺利进行,我会使用 while 循环使用 sleep 来加载所有页面,然后再从页面获取信息。

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import time 
driver = webdriver.Firefox() 
driver.get("http://www.flipkart.com/mobiles/pr?   p%5B%5D=sort%3Dfeatured&sid=tyy%2C4io&ref=659eb948-c365-492c-99ef-59bd9f0427c6") 
time.sleep(3) 
for i in range(5): 
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # scroll to bottom of page 
    time.sleep(2) 
driver.find_element_by_xpath('//*[@id="show-more-results"]').click() # click load more  button, needs to be done until you reach the end. 
elem=[] 
elem=driver.find_elements_by_xpath('.//div[@class="pu-title fk-font-13"]') 
for e in elem: 
   print e.text