selenuim常用操作
![](https://img-blog.csdnimg.cn/img_convert/51de862b637d401e94a993ee51c23b7e.png)
![](https://img-blog.csdnimg.cn/img_convert/15e76685a7a6bd1ad531c71dc726930f.png)
隐式等待(等页面加载完 ) ,页面前进和后退
![](https://img-blog.csdnimg.cn/img_convert/2482f373586b68433b45ec5d16c77ec0.png)
![](https://img-blog.csdnimg.cn/img_convert/62312f4668a1d62da9dc8339c8cf424d.png)
页面的嵌套
![](https://img-blog.csdnimg.cn/img_convert/41d103a35265ca1a1de2a3aac487492a.png)
![](https://img-blog.csdnimg.cn/img_convert/892eeb22bc882ca0580a53350365e99a.png)
设置滚动条的位置
![](https://img-blog.csdnimg.cn/img_convert/e60a23683c4bcb8756ccb3269465a2f9.png)
移动鼠标
![](https://img-blog.csdnimg.cn/img_convert/cee3405712abfb4a5558e2610f9bbf61.png)
下拉框处理
![](https://img-blog.csdnimg.cn/img_convert/e871d7949b68d6d886e7d171ed035e9d.png)
无界面模式
![](https://img-blog.csdnimg.cn/img_convert/0af6c5588a8e987cc4486dac36de9723.png)
案例京东
#输入搜索的名字,得到所有的商品标题,价格,店铺名保存csv
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains # 导入鼠标行为链
import time
from selenium.webdriver.support.select import Select
import csv
def get_product(key):
diver.find_element(By.CSS_SELECTOR,'#key').send_keys(key)
diver.find_element(By.CSS_SELECTOR,'#search > div > div.form > button').click()
def drop_down():
for h in range(1,11,2):
time.sleep(0.5)
j=h/10
js_all=f'document.documentElement.scrollTop=document.documentElement.scrollHeight*{j}'
#每次移动的距离
diver.execute_script(js_all)
def parse_product():
lis=diver.find_elements(By.CLASS_NAME,'gl-item')
for li in lis:
#商品标题
title=li.find_element(By.CSS_SELECTOR,'.p-name a em').text
# print(title)
#商品价格
price=li.find_element(By.CSS_SELECTOR,'.p-price strong i').text
# print(price)
#商品评论数
comment=li.find_element(By.CSS_SELECTOR,'.p-commit strong a').text
# print(comment)
#店铺名称
name=li.find_element(By.CSS_SELECTOR,'.J_im_icon a').text
# print(name)
with open('京东.csv',mode='a',encoding='utf-8',newline='')as f:
csv_write=csv.writer(f)
csv_write.writerow([title,price,comment,name])
if __name__ == '__main__':
keyword ="冬装"
#开启无界面模式
from selenium.webdriver import ChromeOptions
options=ChromeOptions()#创建一个配置对象
options.add_argument('--headless')#开启无界面模式
# options.add_argument('--disable-gpu')#禁用gpu
diver = Chrome(options=options)
diver.get('https://www.jd.com/?cu=true&utm_source=haosou-search&utm_medium=cpc&utm_campaign=t_262767352_haosousearch&utm_term=42483131578_0_3c46919f6a6c43e88667035203c2000f')
diver.implicitly_wait(10)
diver.maximize_window()
get_product(keyword)
drop_down()
parse_product()