安装pip install Selenium==4.0
按照chrome版本下载好驱动
# 下载驱动并使用
# https://registry.npmmirror.com/binary.html?path=chrome-for-testing/
# https://googlechromelab
python
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
#加载驱动 按alt+enter快速导入模块
s=Service('index/chromedriver.exe')
#创建浏览器对象
web=webdriver.Chrome(service=s)
#全屏窗口展示
web.maximize_window()
#打开网页
web.get('https://www.baidu.com')
#print(web.page_source)
#使用lxml或者bs模块解析数据 selenium也提供了解析数据的方式
#先获取标签对象
#print(web.find_element(By.ID,'chat-textarea'))#返回标签对象 找不到则返异常
#web.find_elements() 返回列表 找不到返回空列表
#print(web.find_element(By.NAME,'textarea')) 比如说input name属性
#print(web.find_element(By.XPATH,'//textarea'))
#print(web.find_element(By.CLASS_NAME,'chat-input-textarea'))
#print(web.find_element(By.CSS_SELECTOR,'#chat-textarea'))
#在textarea标签中输入内容
textarea=web.find_element(By.ID,'chat-textarea')
textarea.send_keys('python')
#按回车
#textarea.send_keys(Keys.ENTER)
#点击百度一下
#获取百度一下按钮
button_tag=web.find_element(By.ID,'chat-submit-button')
#点击按钮
button_tag.click()
python
s=Service('index/chromedriver.exe')
#创建浏览器对象
web=webdriver.Chrome(service=s)
#全屏窗口展示
web.maximize_window()
#打开网页
web.get('https://www.dangdang.com/')
#获取搜索框 往里面输入大模型
input=web.find_element(By.ID,'key_S')
input.send_keys('大模型')
#按回车
input.send_keys(Keys.ENTER)
#获取百度一下按钮
#button_tag=web.find_element(By.CLASS_NAME,'button')
#点击按钮
#button_tag.click()
lis=web.find_elements(By.CSS_SELECTOR,'#component_59 li')
#lis=web.find_elements(By.XPATH,'//ul[@id="component_59"]/li')
#print(len(lis))
count=0
for li in lis:
#找到标题对象,获取属性title的值
title=li.find_element(By.NAME,'itemlist-picture').get_attribute('title')
price=li.find_element(By.CLASS_NAME,'search_now_price').text
try:
zuoze=li.find_element(By.NAME,'itemlist-author').get_attribute('title')
except NoSuchElementException:
zuoze=''
desc=li.find_element(By.CLASS_NAME,'detail').text
date=li.find_element(By.XPATH,'.//P[@CLASS="search_book_author"]/span[2]').text.replace('/','')
try:
cbs = li.find_element(By.NAME, 'P_cbs').text
except Exception as e:
cbs=''
print(count,title,price,zuoze,cbs,desc,date)
count+=1