02_selenium各种神奇操作1

preview
需积分: 0 0 下载量 103 浏览量 更新于2022-08-03 收藏 2.03MB PDF 举报
【Selenium 概述】 Selenium 是一个强大的自动化测试工具,尤其在Web应用程序的测试领域。它支持多种浏览器,如Chrome、Firefox等,并且能够模拟用户的各种操作,如点击、输入、滚动等,使得测试过程更加真实。Selenium 通过WebDriver接口与浏览器进行交互,WebDriver 是一个API,允许程序员用各种编程语言控制浏览器。 【Selenium 的基本操作】 1. **初始化浏览器**: 在Python中使用Selenium时,首先需要导入`webdriver`模块,然后通过`Chrome()`方法实例化一个Chrome浏览器对象,如: ```python from selenium.webdriver import Chrome web = Chrome() ``` 2. **导航到URL**: 使用`get()`方法可以将浏览器导航到指定的URL,例如访问拉勾网: ```python web.get("http://lagou.com") ``` 3. **元素定位与交互**: - `find_element_by_*`: 这些方法用于找到页面上的特定元素,例如通过XPath定位元素: ```python btn = web.find_element_by_xpath('//[@id="changeCityBox"]/ul/li[1]/a') btn.click() ``` - `send_keys()`: 用于向元素发送按键,模拟用户输入,例如搜索“python”: ```python web.find_element_by_xpath('//*[@id="search_input"]').send_keys("python") ``` 4. **键盘事件模拟**: 使用`Keys`类可以模拟键盘事件,例如按下回车键: ```python from selenium.webdriver.common.keys import Keys web.find_element_by_xpath('//*[@id="search_input"]').send_keys("python", Keys.ENTER) ``` 5. **处理多个元素**: 当需要处理页面上的一组元素时,可以使用`find_elements_by_*`方法,返回一个元素列表,例如获取所有职位: ```python ls = web.find_elements_by_xpath('//*[@id="s_position_list"]/ul/li') for item in ls: name = item.find_element_by_xpath('./div[1]/div[1]/div[1]/a/h3').text addr = item.find_element_by_xpath('./div[1]/div[2]').text print(name, addr) ``` 6. **等待与延迟**: - `time.sleep()`: 可以使用Python内置的`time`模块进行固定时间的延迟,以确保页面加载完成或等待某个操作执行完毕。 - `WebDriverWait`: Selenium 提供了一个更智能的等待方式,可以根据条件等待,如等待某个元素出现或消失。这比硬编码的`time.sleep()`更灵活。 7. **异常处理**: 在编写Selenium脚本时,通常需要包含异常处理,因为网页结构可能会发生变化或者元素可能不存在,因此要处理可能抛出的`NoSuchElementException`或其他异常。 8. **关闭浏览器**: 在完成所有操作后,记得关闭浏览器: ```python web.quit() ``` 以上就是Selenium的一些基础操作和使用示例。通过这些操作,我们可以实现对Web页面的自动化控制,进行功能测试、数据抓取等多种任务。在实际使用中,还可以结合其他库,如BeautifulSoup进行网页解析,或者使用logging记录测试日志,提升自动化测试的效率和质量。
蒋寻
  • 粉丝: 30
  • 资源: 319
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜