selenium chrome open url get text 解决爬虫Chrome版本问题

1. 找到本机的Chrome版本

在这里插入图片描述

2. http://chromedriver.storage.googleapis.com/index.html

搜索你电脑对应版本,没有找临近版本
在这里插入图片描述

3. 点击下载,解压缩 chromedriver.exe

在这里插入图片描述

4. 放在三个地方

C:\Program Files (x86)\Google\Chrome\Application
在这里插入图片描述
本机安装python的地方
在这里插入图片描述

pycharm创建虚拟环境的地方在这里插入图片描述

code

from selenium import webdriver
from selenium.webdriver.common.by import By

webdriver.Chrome(executable_path="执行环境中/chromedriver.exe")
driver.get("https://www.baidu.com/")
ele1 = self.driver.find_elements(By.XPATH,/html/body/div[1]/div[1]/div[3]/a[1])
print(ele1[0].text)
driver.close()
### 使用Selenium实现知网爬虫 #### 了解为何选择Selenium 对于复杂动态加载内容的网站,如知网,传统的静态页面解析方法可能无法有效获取所需数据。而Selenium能够模拟真实用户的浏览器行为,这使得处理JavaScript渲染的内容变得简单得多[^1]。 #### 初始化环境设置 为了启动基于Selenium的Python脚本,需先安装必要的库并配置WebDriver来控制特定类型的浏览器实例。这里假设已经完成了基本的环境搭建工作。 ```bash pip install selenium ``` 接着导入所需的模块: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC ``` #### 创建浏览器对象 创建一个新的Chrome或Firefox WebDriver实例以打开目标网页。此处以Chrome为例说明: ```python driver = webdriver.Chrome() url = 'https://www.cnki.net/' driver.get(url) ``` #### 分析与定位元素 要成功抓取信息,首先要理解页面结构并通过XPath、CSS选择器等方式精确定位到感兴趣的HTML节点。例如登录按钮可以通过如下方式找到并点击: ```python login_button = driver.find_element(By.XPATH, '//a[@class="head_login"]') login_button.click() ``` #### 实现自动化交互流程 利用`ActionChains`类可以构建一系列连续的动作序列,比如输入用户名密码后提交表单: ```python actions = ActionChains(driver) username_field = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "txtUsername")) ) password_field = driver.find_element(By.ID, "txtPassword") actions.move_to_element(username_field)\ .send_keys('your_username')\ .move_to_element(password_field)\ .send_keys('your_password')\ .perform() submit_btn = driver.find_element(By.CSS_SELECTOR, ".btn-login") submit_btn.submit() ``` #### 处理分页或多级导航 当面对多页结果集时,可通过循环遍历每一页链接完成全部记录收集;而对于具有层次关系的数据,则应递归访问各个子页面提取详情。 #### 数据采集与保存 一旦到达预期位置,就可以按照既定规则抽取文本或其他形式的数据,并将其存储至文件系统或者数据库中供后续分析使用。 ```python articles = [] elements = driver.find_elements(By.CLASS_NAME, "result-item-title") for element in elements: title = element.text.strip() articles.append({"title": title}) import json with open('titles.json', 'w', encoding='utf8') as f: json.dump(articles, f, ensure_ascii=False, indent=2) ``` 最后关闭浏览器结束会话: ```python driver.quit() ``` 上述过程展示了如何运用Selenium框架针对知网这样的学术资源平台实施有效的网络爬虫开发[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海啦啦喽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值