“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]