“Selenium例子-1”的版本间的差异
(创建页面,内容为“from selenium.webdriver.common.by import By import time import re def search_product(): driver.find_element(By.XPATH, ('//*[@id="q"]')).send_keys(kw) driver...”) |
|||
第52行: | 第52行: | ||
driver.get('https://www.taobao.com/') | driver.get('https://www.taobao.com/') | ||
next_page() | next_page() | ||
+ | |||
+ | |||
+ | ---- | ||
+ | 来自:[https://www.bilibili.com/video/av419863231/?zw&spm_id_from=888.80996.embed_old&vd_source=adccf09323887c981a2c590edd4977da] |
2023年3月11日 (六) 23:58的最新版本
from selenium.webdriver.common.by import By import time import re
def search_product():
driver.find_element(By.XPATH, ('//*[@id="q"]')).send_keys(kw) driver.find_element(By.XPATH, ('//*[@id="J_TSearchForm"]/div[1]/button')).click() time.sleep(10) page = driver.find_elements(By.XPATH, ('//*[@id="mainsrp-pager"]/div/div/div/div[1]')).text page = int(re.compile('(\d+)').search(page).group(1)) return page
def drop_down():
for x in range(1,11,2): time.sleep(0.5) j = x/10 js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f'%j driver.execute_script(js)
def get_product():
divs = driver.find_elements(By.XPATH,('//*[@id="mainsrp-itemlist"]/div/div/div[1]/div[1]')) for div in divs: picture = div.find_elements(By.XPATH,('.//div[@class="pic"]/a/img')).get_attribute('src') introduce = div.find_elements(By.XPATH,('.//div[@class="price g_price g_price-highlight"]/strong')).text price = div.find_elements(By.XPATH, ('.//div[@class="row row-2 title"]/a')).get_attribute('trace-price') + '元' sales = div.find_elements(By.XPATH,('.//div[@class="deal-cnt"]')).text name = div.find_elements(By.XPATH, ('.//div[@class ="row row-2 title"]/a/span[2]')).text place = div.find_elements(By.XPATH, ('.//div[@class="location"]')).text product = {'图片':picture,'介绍':introduce,'价格':price,'销售':sales,'名字':name,'地点':place} print(product)
def next_page():
page = search_product() drop_down() get_product() num = 1 while num != page: driver.get('https://s.taobao.com/search?q={}&s={}'.format(kw, 44*num)) driver.implicitly_wait(10) num += 1 drop_down() get_product()
if __name__ == '__main__':
kw = input('请输入你想搜索的商品:') options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) driver.get('https://www.taobao.com/') next_page()
来自:[1]