Selenium自行整理【三十一】

5.3.2 百度搜索

        再来看一个百度搜索的例子。我们每天上网一般要用很多次百度搜索,而我们每次在使用百度搜索时步骤都是一样的,不一样的是每一次搜索的“关键字”不同。下面我们就以数组的方式对搜索的关键字进行参数化。

       首先将百度搜索的步骤定义为 sreach()方法,搜索的关键字作为方法的入参。

        接下来在 main()方法中定义字典 sreach_key,然后通过 for 循环读取字典的元组做为 sreach()方法的入参对其进行调用。最后将 sreach()方法返回的页面 title 打印。

 

5.3.3 读取 csv 文件

       假如,现在要读取的是一组用户数据,这一组数据包括用户名、邮箱、年龄、性别等信息。这个时候显然 txt 文件不管是存放还是读取都不太方便。

       下面通过读取 csv 文件的方法来解决这个每次要读取多个信息的问题。Java 本身并不支持 CSV 文件的读取,需要安装第三方 jar 包。

        javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/

       通过上面的链接,将 jar 包下载并导入项目。具体步骤参考 selenium 的导入。

       首先创建 userinfo.csv 文件,通过 WPS 表格 或 Excel 创建表格,文件另存为选择 CSV 格式进行保存,注意不要直接修改 Excel 的后缀名来创建 CSV 文件,这样创建出来的并非真正的 CSV 文件。

【读取info. csv表格的代码如下】:

           ● 我们一般会在表格的第一行定义标题,从而来说明每一列的内容,readHeaders()方法可以跳过表头,也就是表格的第一行。

          ● getRawRecord()方法表示获取一行的数据。

          ● get("Name")方法表示获取一行中某一列的数据,“name”为该的标题。在上面的例子中只需要取所有用户的“Name”和“Password”。

         ● 在本中是以读取 CSV 文件为例,读取 Excel 文件的方式也类似,只是所调用的模块就需要从 csv 切换为 xlrd,针对 Excel 文件操作的方法也有所不同。

<think>好的,我现在需要帮助用户了解如何详细搭建Selenium的运行环境。用户明确要求一个详解教程,所以我得一步步解释清楚,确保他们能跟着操作。首先,我应该回忆之前提供的引用内容,确保信息准确,并且正确引用来源。 首先,Selenium的环境搭建可能涉及不同编程语言,但用户提到的引用里有Java和Python的例子。比如引用[4]提到了在Java项目中通过Maven添加依赖,而引用[5]是关于Python的离线安装。用户可能需要知道不同语言的配置方法,但问题没有明确指定,所以我应该分开说明,或者询问用户使用的语言。不过根据引用[3]和[5],用户可能对Python更感兴趣,但引用[1]和[4]又是关于Java的。可能需要涵盖两种语言的情况,但用户的问题没有限定,所以最好都包括进去,让用户自行选择。 接下来,我需要按照步骤来组织教程。通常环境搭建包括安装语言环境(如Java或Python)、安装Selenium库、配置WebDriver,以及验证安装。每个步骤都需要详细说明,确保用户不会迷路。 对于Java环境,引用[1]和[4]提到使用Maven添加依赖,所以需要指导用户在pom.xml中添加相应的依赖项。而Python方面,引用[5]提到使用pip安装或者离线安装,所以需要说明这两种方法,包括在线安装和可能的离线步骤。 然后,WebDriver的配置是关键部分。不同的浏览器需要不同的驱动,比如Chrome需要ChromeDriver,Firefox需要GeckoDriver。需要指导用户下载对应的驱动,并设置环境变量或者指定路径。这里可能需要说明如何将驱动路径添加到系统PATH,或者在代码中指定路径。 验证部分也很重要,用户需要运行一个简单的测试脚本来确认环境是否搭建成功。例如,启动浏览器并打开一个网页,然后关闭浏览器。这部分需要提供示例代码,确保用户能复制粘贴并运行。 另外,需要注意不同操作系统下的差异,比如Windows、MacOS或Linux,在路径设置上的不同。但用户的问题没有特别指出操作系统,所以可能需要通用说明,或者在步骤中注明不同系统的注意事项。 还需要考虑可能的常见问题,比如驱动版本与浏览器不兼容,环境变量未正确设置等,可以给出一些排查建议,帮助用户遇到问题时自行解决。 最后,生成相关问题,引导用户进一步学习,比如性能优化、动态网页处理等,这些问题需要与Selenium环境搭建相关,但又不重复当前内容。 现在需要整理这些思路,按照逻辑顺序分步骤说明,确保每个部分都清晰,并正确引用提供的资料。同时要遵循用户给出的系统级指令,比如行内公式使用$...$,但这里可能用不上数学公式。需要检查是否有违反格式的地方,比如独立公式是否用$$...$$,但内容中可能不需要。另外,确保所有引用标注正确,比如引用[1]、[4]、[5]等,在对应的位置添加标注。</think>### Selenium运行环境搭建详解教程 #### 一、基础环境准备 1. **安装编程语言环境** - **Java环境**:安装JDK 1.8+并配置环境变量,通过`java -version`验证是否成功[^1]。 - **Python环境**:安装Python 3.7+,使用`python --version`检查版本[^3]。 2. **安装开发工具** - Java推荐使用IntelliJ IDEA或Eclipse。 - Python推荐使用PyCharm或VS Code。 --- #### 二、Selenium库安装 1. **Java项目配置(Maven)** 在`pom.xml`中添加以下依赖: ```xml <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> </dependencies> ``` Maven会自动下载相关库[^4]。 2. **Python环境安装** - **在线安装**: ```bash pip install selenium ``` - **离线安装**: 下载离线包后,在解压目录执行: ```bash python setup.py install ```[^5] --- #### 三、浏览器驱动配置 1. **下载对应驱动** - **Chrome**:[ChromeDriver](https://chromedriver.chromium.org/) - **Firefox**:[GeckoDriver](https://github.com/mozilla/geckodriver) 2. **配置驱动路径** - **方法1**:将驱动文件(如`chromedriver.exe`)放在系统`PATH`目录。 - **方法2**:在代码中指定路径: ```python from selenium import webdriver driver = webdriver.Chrome(executable_path=r"D:\drivers\chromedriver.exe") ``` --- #### 四、验证环境 1. **Java示例** ```java import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Test { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.baidu.com"); driver.quit(); } } ``` 2. **Python示例** ```python from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.quit() ``` 若浏览器成功打开并关闭,则环境配置成功[^3]。 --- #### 五、常见问题排查 - **驱动版本不匹配**:确保驱动版本与浏览器版本一致。 - **路径错误**:检查驱动文件路径是否包含空格或中文。 - **防火墙限制**:关闭可能拦截浏览器启动的安全软件。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值