返回

用python/selenium玩转MacOS自动化(上)

开发工具

Python作为一门多功能且易于使用的编程语言,为许多领域提供了广泛的解决方案,特别是自动化领域。Selenium 是一个强大且流行的网络自动化框架,可帮助用户轻松模拟用户与浏览器之间的交互。为了在MacOS系统上使用Python和Selenium进行网页自动化,需要进行以下步骤:

1. 安装Python

1.1 安装pyenv。Pyenv是一个Python版本管理器,可帮助用户轻松切换和管理不同的Python版本。

brew install pyenv

1.2 更新.zshrc配置文件,添加pyenv的路径。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

1.3 重新加载.zshrc配置文件。

```
source ~/.zshrc
```

1.4 安装Python 3.8.5版本。

```
pyenv install 3.8.5
```

2. 安装Selenium和Chromedriver

2.1 安装pip工具。

```
sudo easy_install pip
```

2.2 安装Selenium库。

```
pip install selenium
```

2.3 安装ChromeDriver。

```
brew install chromedriver
```

2.4 将ChromeDriver添加到环境变量中。

```
export PATH=$PATH:/usr/local/bin/chromedriver
```

3. 编写Python脚本

3.1 创建一个Python脚本文件,例如名为“autotest.py”的脚本。

3.2 导入必要的库。

```
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
```

3.3 创建一个Chrome浏览器对象。

```
driver = webdriver.Chrome()
```

3.4 访问特定URL。

```
driver.get("https://www.google.com")
```

3.5 查找并输入搜索内容。

```
search_box = driver.find_element_by_name("q")
search_box.send_keys("Python自动化")
search_box.send_keys(Keys.RETURN)
```

3.6 获取搜索结果。

```
search_results = driver.find_elements_by_css_selector("div.rc")
```

3.7 打印搜索结果标题。

```
for result in search_results:
    print(result.text)
```

3.8 关闭Chrome浏览器。

```
driver.quit()
```

4. 运行Python脚本

在终端中运行Python脚本:

python autotest.py

此脚本将打开Chrome浏览器,访问谷歌主页,输入“Python自动化”进行搜索,并打印出搜索结果的标题。

5. 常见问题及解决方法

5.1 无法安装ChromeDriver。

解决方案:确保已安装Chrome浏览器,并使用与Chrome浏览器版本相对应的ChromeDriver版本。

5.2 运行Python脚本时出现“selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed”错误。

解决方案:确保已安装ChromeDriver,并已将其添加到环境变量中。

5.3 运行Python脚本时出现“selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary”错误。

解决方案:确保已安装Chrome浏览器,并已将ChromeDriver添加到环境变量中。

5.4 运行Python脚本时出现“selenium.common.exceptions.WebDriverException: Message: unknown error: session not created: This version of ChromeDriver only supports Chrome version 95 or newer”错误。

解决方案:确保已安装与Chrome浏览器版本相对应的ChromeDriver版本。

6. 总结

本文提供了在MacOS系统上使用Python、Selenium和Chrome进行网页自动化的详细教程。通过安装pyenv、Python、Selenium库和ChromeDriver,以及编写Python脚本,用户可以轻松实现网页自动化的功能。最后,文章还提供了常见问题的解决方法,帮助用户快速入门。