# 导入库 from selenium import webdriver from selenium.webdriver.chrome.service import Service import time import random # 初始化浏览器 driver = webdriver.Chrome(service=Service(r'C:\Users\Admin\Google\Chrome\Application\chromedriver.exe')) # 创建 Chrome 浏览器实例 # 打开京东商城首页 driver.get("https://www.jd.com/") # 等待5秒 time.sleep(5) # 在搜索框中输入关键字 search_box = driver.find_element("key") search_box.send_keys("电脑") search_box.submit() # 获取搜索结果 items = driver.find_element(".gl-item") # 输出搜索结果 for item in items: name = item.find_element_by_css_selector(".p-name em").text.strip() price = item.find_element_by_css_selector(".p-price i").text.strip() comment = item.find_element_by_css_selector(".p-commit a").text.strip() print("商品名称:", name) print("商品价格:", price) print("评论数量:", comment) print("=" * 50) # 关闭浏览器 driver.quit()
时间: 2024-01-24 20:18:44 浏览: 104
这段代码使用了Selenium库来模拟浏览器行为,实现了在京东商城中搜索关键词"电脑",并获取搜索结果的名称、价格、评论数量等信息。具体流程如下:
1. 导入Selenium库、Chrome浏览器驱动等必要的库。
2. 创建Chrome浏览器实例。
3. 打开京东商城首页,并等待5秒。
4. 在搜索框中输入关键字"电脑",并提交搜索请求。
5. 获取搜索结果中的每个商品信息,包括商品名称、价格、评论数量等。
6. 输出搜索结果并用分隔符"="分割。
7. 关闭浏览器。
需要注意的是,这段代码假设Chrome浏览器的驱动程序已经下载并放置在指定的路径下。如果您的Chrome浏览器版本不同,可能需要下载对应版本的驱动程序。此外,如果搜索结果中有多页,需要进一步实现翻页功能才能获取所有商品信息。
相关问题
from selenium import webdriver from selenium.webdriver.edge.webdriver import WebDriver server = WebDriver() driver = webdriver.Edge()
这段代码使用了Selenium库来控制浏览器进行自动化测试。其中,from selenium import webdriver是导入Selenium库中的webdriver模块,webdriver模块提供了各种浏览器的驱动程序,可以通过这些驱动程序来控制浏览器。而from selenium.webdriver.edge.webdriver import WebDriver则是导入了Edge浏览器的驱动程序,用于控制Edge浏览器。接下来,server = WebDriver()创建了一个Edge浏览器的WebDriver实例,而driver = webdriver.Edge()则是创建了一个Edge浏览器的WebDriver实例,两者的效果是一样的。
from selenium import webdriver import time from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains # 读取操作excel表格 import openpyxl , 上述代码如何进行封装, 方便引用
可以将上述代码封装为一个函数,如下所示:
```
import openpyxl
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
def login(username, password):
# 读取操作 excel 表格
wb = openpyxl.load_workbook('example.xlsx')
ws = wb.active
# 启动 Chrome 浏览器
service = Service('chromedriver')
driver = webdriver.Chrome(service=service)
driver.get('https://www.example.com/login')
# 输入用户名和密码
username_field = driver.find_element(By.ID, 'username')
password_field = driver.find_element(By.ID, 'password')
username_field.send_keys(username)
password_field.send_keys(password)
# 点击登录按钮
login_button = driver.find_element(By.ID, 'login-button')
ActionChains(driver).move_to_element(login_button).click().perform()
# 关闭浏览器并保存 excel 表格
driver.quit()
wb.save('example.xlsx')
```
然后在其他文件中可以直接引用该函数,如下所示:
```
from login import login
# 使用封装的 login 函数登录账号
login('your_username', 'your_password')
```
这样可以避免代码重复,也方便维护。
阅读全文