# 导入库 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 08:18:44 浏览: 108
这段代码使用了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
class Login:
def __init__(self, username, password):
self.username = username
self.password = password
self.wb = openpyxl.load_workbook('example.xlsx')
self.ws = self.wb.active
self.service = Service('chromedriver')
self.driver = webdriver.Chrome(service=self.service)
def login(self):
self.driver.get('https://www.example.com/login')
# 输入用户名和密码
username_field = self.driver.find_element(By.ID, 'username')
password_field = self.driver.find_element(By.ID, 'password')
username_field.send_keys(self.username)
password_field.send_keys(self.password)
# 点击登录按钮
login_button = self.driver.find_element(By.ID, 'login-button')
ActionChains(self.driver).move_to_element(login_button).click().perform()
def logout(self):
# 退出登录
logout_button = self.driver.find_element(By.ID, 'logout-button')
ActionChains(self.driver).move_to_element(logout_button).click().perform()
self.driver.quit()
self.wb.save('example.xlsx')
```
然后在其他文件中可以实例化该类并调用其中的方法,如下所示:
```
from login import Login
# 实例化 Login 类并登录账号
login = Login('your_username', 'your_password')
login.login()
# 在需要退出登录的地方调用 logout 方法
login.logout()
```
这样可以将登录和退出登录的代码封装在一个类中,便于管理和维护。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)