day05 Selenium的基础使用
工程实训day04
继昨天成功安装Selenium请求库后,今天开始学习其基本的应用。
首先以京东主页地址为例,请求访问京东主页,并获取输入框元素,往其中传递值,导入键盘keys,响应按下enter键的操作达成自动搜索功能。
from selenium import webdriver # 导入键盘Keys from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() # 检测代码块 try: # 隐式等待 driver.implicitly_wait(10) driver.get('https://www.jd.com/') # 通过id查找input输入框 input_tag = driver.find_element_by_id('key') # send_keys为当前标签传值 input_tag.send_keys('公仔') # 按键盘回车键 input_tag.send_keys(Keys.ENTER) time.sleep(5) except Exception as e: print(e) finally: driver.close()
如此成功访问京东主页。
紧接,实现查找某一种商品的一页信息,并以文本形式保存下来。
from selenium import webdriver # 导入键盘Keys from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() # 检测代码块 try: # 隐式等待,等待标签加载 driver.implicitly_wait(10) # 往京东主页发送请求 driver.get('https://www.jd.com/') # 通过id查找input输入框 input_tag = driver.find_element_by_id('key') # send_keys为当前标签传值 input_tag.send_keys('中华字典') # 按键盘的回车键 input_tag.send_keys(Keys.ENTER) time.sleep(3) ''' 爬取京东商品信息: 公仔 名称 url 价格 评价 ''' # element 找一个 # elements 找多个 # 查找所有的商品列表 good_list = driver.find_elements_by_class_name('gl-item') # print(good_list) # 循环遍历每一个商品 for good in good_list: # 通过属性选择器查找商品详情页url # url good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href') print(good_url) # 名称 good_name = good.find_element_by_css_selector('.p-name em').text print(good_name) # 价格 good_price = good.find_element_by_class_name('p-price').text print(good_price) # 评价数 good_commit = good.find_element_by_class_name('p-commit').text print(good_commit) str1 = f''' url: {good_url} 名称: {good_name} 价格: {good_price} 评价: {good_commit} \n ''' # 把商品信息写入文本中 with open('jd.txt', 'a', encoding='utf-8') as f: f.write(str1) time.sleep(10) # 捕获异常 except Exception as e: print(e) # 最后都会把驱动浏览器关闭掉 finally: driver.close()
以程序为例可得到jd.txt:

总结来说,今天所学的有很多模糊的地方,用老师的话来说,是用未知学未知,看到大多数函数,虽然见名知义,但其具的使用方法,仍不是很清楚,关于Selenium请求库的使用过程和应用我已基本了解,但仍需不断的自学,仅靠课上所获实在不够。

浙公网安备 33010602011771号