Python Selenium 常用功能(实战详解)

合集下载

selenium常用方法

selenium常用方法

selenium常用方法Selenium是一个用于自动化浏览器操作的工具,广泛应用于Web应用的功能测试和自动化脚本编写。

在使用Selenium进行自动化测试时,有许多常用的方法可以帮助我们实现各种操作。

1.定位元素:Selenium提供了多种方法来定位页面中的元素,包括通过id、name、class name、tag name、xpath、css selector等。

我们可以根据元素的不同特征使用合适的方法来定位元素。

2.操作元素:一旦定位到元素,我们可以使用一系列方法来操作元素,比如点击、输入文本、获取元素的属性值、获取元素的文本内容等。

这些方法可以帮助我们模拟用户在页面上的各种操作。

3.处理弹窗和框架:有时候在页面上会出现弹窗或者框架,Selenium提供了方法来处理这些弹窗和框架。

例如,我们可以使用switch_to.alert方法来处理弹窗,使用switch_to.frame方法来切换到框架。

4.等待页面加载:在自动化测试中,页面加载时间是一个常见的问题。

为了确保页面加载完全,我们可以使用Selenium提供的等待方法,比如显式等待和隐式等待。

这些等待方法可以帮助我们处理页面加载的延迟或异步加载的元素。

5.处理下拉列表:在页面上有时候会出现下拉列表,我们需要选择其中的一个选项。

Selenium提供了方法来处理下拉列表,比如select_by_index、select_by_value、select_by_visible_text等。

这些方法可以帮助我们选择下拉列表中的选项。

6.执行JavaScript代码:有时候我们需要在页面上执行一些JavaScript代码,比如修改元素的属性、滚动页面、触发事件等。

Selenium提供了execute_script 方法来执行JavaScript代码,让我们可以更灵活地操作页面。

7.处理Cookie:在测试过程中,有时候需要对Cookie进行操作。

python selenium使用例子

python selenium使用例子

python selenium使用例子使用Python和Selenium进行Web自动化测试可帮助开发人员提供高质量的软件。

Selenium是一个开源的自动化测试框架,它可以模拟用户在网页上的操作,并对网页元素进行交互。

在本文中,我们将使用中括号主题,来展示如何使用Python和Selenium自动化测试框架。

1. 安装和配置Selenium首先,我们需要在Python环境中安装和配置Selenium。

可以使用pip命令来安装Selenium:`pip install selenium`。

安装完成后,需要下载并安装浏览器驱动程序以供Selenium使用,根据你使用的浏览器选择相应的驱动程序。

2. 导入Selenium库安装成功后,我们需要在Python脚本中导入Selenium库:`import selenium`。

这将使我们能够使用Selenium提供的函数和方法来控制浏览器。

3. 创建一个浏览器实例使用Selenium,我们可以模拟用户在浏览器上的操作。

为此,我们首先需要创建一个浏览器实例,例如,Google Chrome:`from selenium import webdriver`,`driver = webdriver.Chrome()`。

这将创建一个Chrome浏览器实例,我们将使用它来进行后续的操作。

4. 打开一个网页一旦有了浏览器实例,我们就可以使用`get()`方法来打开一个网页:`driver.get("5. 寻找和交互网页元素Selenium的一个重要功能是能够寻找和交互网页上的元素。

例如,我们可以使用`find_element_by_xpath()`方法通过XPath来定位一个元素:`element = driver.find_element_by_xpath("/html/body/div[1]/div[2]/form/input[1]")`。

selenium模块中的常用方法及其作用

selenium模块中的常用方法及其作用

selenium模块中的常用方法及其作用Selenium是一个用于自动化浏览器操作的Python模块,主要用于测试和自动化任务。

它提供了一组丰富的方法和功能,用于模拟用户在浏览器中的操作,并获取和处理网页上的数据。

下面将介绍Selenium模块中的一些常用方法及其作用。

1. webdriver模块- WebDriver(:创建一个WebDriver实例,用于控制浏览器的行为。

- get(:打开指定的URL。

- quit(:关闭浏览器。

2. WebElement对象方法- click(:点击该元素。

- send_keys(:向该元素发送文本。

- clear(:清除该元素的文本。

3.By类常量- By.ID:通过元素的id属性定位元素。

- :通过元素的name属性定位元素。

- By.CLASS_NAME:通过元素的class属性定位元素。

- By.XPATH:通过元素的xpath定位元素。

-By.CSS_SELECTOR:通过元素的CSS选择器定位元素。

-By.PARTIAL_LINK_TEXT:通过元素的部分链接文本定位元素。

-By.LINK_TEXT:通过元素的完整链接文本定位元素。

4. WebElement对象属性- text:获取元素的文本内容。

- get_attribute(:获取元素的属性值。

- is_displayed(:判断元素是否可见。

- is_enabled(:判断元素是否可用。

5.隐式等待- implicitly_wait(:设置隐式等待时间,以秒为单位。

-在查找元素时,如果元素没有立即出现,将等待一段时间再继续查找,直到超过设定的等待时间为止。

6.显式等待- WebDriverWait(:创建WebDriverWait实例,用于等待特定条件出现。

- until(:等待直到指定的条件成立。

- expected_conditions类:包含一组预定义的条件,如元素可见、元素存在、元素可点击等。

python菜鸟selenium用法

python菜鸟selenium用法

Selenium 是一个用于自动化浏览器的工具,常用于网页测试和爬虫等场景。

以下
是一个简单的 Selenium 示例,展示如何使用 Selenium 进行基本的网页操作。

首先,确保你已经安装了 Selenium:
然后,你需要下载对应浏览器的驱动。

不同浏览器需要不同的驱动,比如 Chrome
需要 ChromeDriver,Firefox 需要 GeckoDriver。

你可以在官网下载并配置。

下面是一个简单的 Python 示例,演示如何使用 Selenium 打开浏览器,访问网页,
以及进行一些基本的操作:
请注意,这只是 Selenium 的一个简单示例。

Selenium 还支持很多高级功能,比如处理弹窗、截图、模拟鼠标操作等。

selenium常用方法

selenium常用方法

selenium常用方法Selenium 是一个用于自动化浏览器操作的工具,常用于网页测试和爬虫开发。

它提供了丰富的方法和功能,以下是一些常用的 Selenium 方法:1. WebDriver 的基本方法:- `get(url)`:加载指定的网页。

- `title`:获取当前网页的标题。

- `current_url`:获取当前网页的 URL。

- `back(`:返回上一个网页。

- `forward(`:前进到下一个网页。

- `refresh(`:刷新当前网页。

2.元素定位方法:- `find_element_by_id(id)`:根据元素 ID 定位单个元素。

- `find_elements_by_id(id)`:根据元素 ID 定位多个元素。

- `find_element_by_name(name)`:根据元素名称定位单个元素。

- `find_elements_by_name(name)`:根据元素名称定位多个元素。

- `find_element_by_class_name(class_name)`:根据元素类名定位单个元素。

- `find_elements_by_class_name(class_name)`:根据元素类名定位多个元素。

- `find_element_by_link_text(link_text)`:根据链接文本定位单个元素。

- `find_elements_by_link_text(link_text)`:根据链接文本定位多个元素。

- `find_element_by_partial_link_text(link_text)`:根据链接部分文本定位单个元素。

- `find_elements_by_partial_link_text(link_text)`:根据链接部分文本定位多个元素。

- `find_element_by_xpath(xpath)`:根据 XPath 定位单个元素。

python selenium 爬虫实例

python selenium 爬虫实例

文章标题:深入探讨Python Selenium爬虫实例一、引言在当今互联网时代,数据具有极其重要的意义。

而爬虫作为一种数据获取的工具,被广泛应用于各行各业。

Python Selenium是一种强大的自动化测试工具,同时也可以用来进行网页数据爬取。

本文将深入探讨Python Selenium爬虫实例,帮助读者全面了解其原理和应用。

二、Python Selenium简介Python Selenium是一种自动化测试工具,最初是为全球信息湾测试开发的,但是它的功能远不止于此。

它可以模拟人的操作,实现自动化操作浏览器的功能,比如模拟点击、输入、下拉框选择等。

Python Selenium也可以用于网页数据的爬取。

三、Python Selenium爬虫实例详解1. 安装Python Selenium库我们需要安装Python Selenium库,可以通过pip命令进行安装:```pythonpip install selenium```2. 配置浏览器驱动接下来,需要下载相应浏览器的驱动,比如Chrome浏览器需要下载ChromeDriver。

然后将其添加到环境变量中,或者指定驱动的路径:```pythonfrom selenium import webdriverdriver =webdriver.Chrome(executable_path='path_to_chromedriver') ```3. 编写爬虫代码有了Python Selenium库和浏览器驱动之后,就可以开始编写爬虫代码了。

我们可以使用Selenium打开网页、获取元素、模拟点击等操作,实现网页数据的自动获取和处理。

四、Python Selenium爬虫实例的应用Python Selenium爬虫实例可以应用于各种场景,比如商品信息的抓取、文章的采集、自动化测试等。

它可以大大提高网页数据爬取的效率和灵活性,是一个非常实用的工具。

selenium 的用法

selenium 的用法

selenium 的用法Selenium 是一個自動化測試工具,通常用於網頁測試和網頁爬取。

以下是Selenium 的一些常見用法:1. 安裝Selenium:首先,要使用Selenium,必須安裝Selenium 的Python 庫。

通過執行以下命令可以安裝Selenium:pip install selenium2. 驅動器的設置:Selenium 需要一個特定的驅動器來控制不同的瀏覽器。

常見的驅動器有Chrome 驅動器、Firefox 驅動器和Edge 驅動器。

通過下載相應的驅動器並設置環境變量,即可應用Selenium 對該瀏覽器進行操作。

3. 啟動瀏覽器:使用Selenium 可以自動打開瀏覽器。

以下示例展示了如何啟動Google Chrome 瀏覽器:pythonfrom selenium import webdriverdriver = webdriver.Chrome() # 驅動器的路徑在系統環境變量中已設定4. 對網頁進行操作:Selenium 可以模擬用戶在瀏覽器上的操作,例如點擊按鈕、填寫表單、清除輸入框等等。

以下是一些示例操作:python# 瀏覽網址driver.get("# 透過ID 取得元素element = driver.find_element_by_id("element_id")# 點擊按鈕element.click()# 填寫表單element.send_keys("Hello World")# 清除輸入框element.clear()5. 網頁爬取:Selenium 可以模擬用戶操作瀏覽器,因此也可以用於網頁爬取。

例如,可以使用Selenium 開啟一個網頁,然後通過XPath 或CSS Selector 等方式找到需要的元素進行提取。

這只是Selenium 的一些基本用法,還有很多其他功能和技巧可以使用。

selenium的基本操作

selenium的基本操作

selenium的基本操作
Selenium是一个用于Web应用程序的测试工具,也可以用于自动化网页
交互。

以下是一些Selenium的基本操作:
1. 定位元素:Selenium提供了多种定位元素的方法,如id、name、class name、tag name、link text、partial link text、XPath和CSS selector 等。

2. 点击元素:使用Selenium可以模拟鼠标点击元素的动作。

3. 输入文本:使用Selenium可以模拟键盘输入文本到文本框的操作。

4. 选择下拉框值:使用Selenium可以选择下拉框中的值。

5. 等待元素:Selenium提供了显式和隐式等待方法,可以等待某个元素加载完成后再执行后续操作。

6. 获取元素属性:使用Selenium可以获取元素的属性值,如href、src等。

7. 获取页面源码:使用Selenium可以获取当前页面的源码。

8. 获取页面标题:使用Selenium可以获取当前页面的标题。

9. 获取页面链接:使用Selenium可以获取当前页面中所有的链接。

10. 获取页面源码:使用Selenium可以获取当前页面的源码。

11. 执行JavaScript代码:使用Selenium可以执行JavaScript代码。

12. 截图:使用Selenium可以截取当前页面的截图。

这些是Selenium的一些基本操作,通过这些操作可以完成自动化网页交互的任务。

selenium新版用法

selenium新版用法

selenium新版用法
在使用Python进行自动化时,Selenium库是一个非常重要的工具。

随着时代的发展,Selenium也经历了许多变化。

以下是一些关于Selenium新版用法的基本信息:
1. 设置驱动:确保你正在使用的Selenium版本是或更高。

下载对应的Chrome驱动,并确保你的浏览器版本与驱动版本相匹配。

另外,你可以使用SergeyPirogov的浏览器驱动管理器来简化设置驱动的过程。

2. 定位元素:在Selenium中,你可以使用不同的定位策略来查找页面上的元素。

例如,你可以使用ID、NAME、CLASS_NAME和LINK_TEXT等属性来定位元素。

请注意,ID和NAME属性应该是全局唯一的,而CLASS_NAME和LINK_TEXT属性可能会有多个匹配项。

3. 执行操作:一旦你定位到了元素,你可以使用Selenium的方法来执行各种操作,例如点击、输入文本、提交表单等。

4. 等待机制:在某些情况下,你可能需要等待元素加载完成才能执行操作。

Selenium提供了多种等待机制,例如显式等待和隐式等待,以帮助你处理这种情况。

5. 多线程和异步:Selenium也支持多线程和异步操作,这可以帮助你提高自动化测试的效率。

6. 与其他工具集成:Selenium可以与其他工具集成,例如Appium、TestNG等,以提供更丰富的功能和更好的测试管理。

总之,Selenium新版提供了一些改进和新特性,可以帮助你更高效地进行自动化测试和网页抓取。

但是,也需要记住在不断探索和学习新的特性的同时,保持对库的了解和关注官方文档的更新。

Python+Selenium自动化-清空输入框、输入内容、点击按钮

Python+Selenium自动化-清空输入框、输入内容、点击按钮

Python+Selenium⾃动化-清空输⼊框、输⼊内容、点击按钮Python+Selenium⾃动化-清空输⼊框、输⼊内容、点击按钮1.输⼊内容send_keys('valve'):输⼊内容valve#定位输⼊框input_box = browser.find_element_by_id('kw')try:#输⼊内容:seleniuminput_box.send_keys('selenium')print('搜索关键词:selenium')except Exception as e:print('fail')#输出内容:搜索关键词:selenium2.点击按钮click():点击按钮#定位搜索按钮button = browser.find_element_by_id('su')try:#点击搜索按钮button.click()print('成功搜索')except Exception as e:print('fail搜索')#输出内容:成功搜索3.清空输⼊框clear():清空输⼊框#clear():清空输⼊框try:input_box.clear()print('成功清空输⼊框')except Exception as e:print('fail清空输⼊框')#输出内容:成功清空输⼊框4.输⼊内容、点击按钮、清空输⼊完整实例from selenium import webdriverimport timebrowser = webdriver.Chrome()browser.maximize_window() #设置浏览器⼤⼩:全屏browser.get('https://')#定位输⼊框input_box = browser.find_element_by_id('kw')try:#输⼊内容:seleniuminput_box.send_keys('selenium')print('搜索关键词:selenium')except Exception as e:print('fail')#输出内容:搜索关键词:selenium#定位搜索按钮button = browser.find_element_by_id('su')try:#点击搜索按钮button.click()print('成功搜索')except Exception as e:print('fail搜索')#输出内容:成功搜索#clear():清空输⼊框try:input_box.clear()print('成功清空输⼊框')except Exception as e:print('fail清空输⼊框')#输出内容:成功清空输⼊框5.submit():模拟‘回车’操作submit():通常应⽤于提交表单;例如:搜索框输⼊内容后的回车操作。

python selenium查找元素的方法

python selenium查找元素的方法

Python Selenium查找元素的方法Python Selenium提供了多种查找元素的方法,下面列举一些常用的方法:find_element_by_id(id):根据元素的id属性查找元素pythonelement = driver.find_element_by_id("element_id")find_element_by_name(name):根据元素的name属性查找元素pythonelement = driver.find_element_by_name("element_name")find_element_by_xpath(xpath):根据元素的xpath表达式查找元素pythonelement = driver.find_element_by_xpath("xpath_expression")find_element_by_css_selector(css_selector):根据元素的CSS选择器查找元素pythonelement = driver.find_element_by_css_selector("css_selector")find_element_by_link_text(link_text):根据链接文本查找元素pythonelement = driver.find_element_by_link_text("link_text")find_element_by_partial_link_text(partial_link_text):根据部分链接文本查找元素pythonelement = driver.find_element_by_partial_link_text("partial_link_text")find_element_by_tag_name(tag_name):根据元素标签名查找元素pythonelement = driver.find_element_by_tag_name("tag_name")find_element_by_class_name(class_name):根据元素的class属性查找元素pythonelement = driver.find_element_by_class_name("class_name")以上这些方法都返回第一个匹配的元素,如果找不到匹配的元素,会抛出NoSuchElementException异常。

python selenium 用法

python selenium 用法

python selenium 用法PythonSelenium是一种基于Python的自动化测试工具,它可以用于 Web 应用程序测试、网站数据爬取以及用户行为模拟等多种场景。

Python Selenium 能够模拟用户在浏览器中的操作,如点击、输入、滚动等,从而完成自动化测试或爬虫任务。

以下是 Python Selenium 的基本用法:1. 安装 selenium 模块:使用 pip 命令安装,如 pip install selenium。

2. 配置浏览器驱动:Python Selenium 需要依赖浏览器驱动才能执行操作。

常用的浏览器驱动有 ChromeDriver 和 GeckoDriver。

在使用时,需要先下载相应的驱动程序,并将其路径添加到环境变量中。

3. 创建浏览器对象:使用 webdriver 模块中的相应类来创建浏览器对象,如 Chrome、Firefox、Edge 等。

创建后即可通过对象调用浏览器的各种方法。

4. 访问网页:使用 get() 方法可以访问指定的网页。

5. 查找元素:通过 find_element_by_xxx() 方法可以查找网页中的元素,如 id、class、tag 等。

找到元素后即可进行相应的操作,如点击、输入、获取属性等。

6. 等待元素加载:使用 WebDriverWait 类可以等待某个元素加载完成后再进行操作,避免因网速等原因导致的操作失败。

7. 控制浏览器:使用 WebDriver 提供的方法可以控制浏览器的行为,如窗口大小、前进后退、刷新等。

Python Selenium 具有强大的自动化测试和爬虫功能,同时也有一定的学习门槛。

使用 Python Selenium 进行测试或爬虫时,需要了解 HTML、CSS、JavaScript 等相关知识。

对于初学者,建议先学习 Python 基础和基本的 Web 开发知识,再逐步学习 Python Selenium 的用法。

python中selenium库的用法

python中selenium库的用法

python中selenium库的用法Title: Exploring the Versatile Uses of Selenium Library in PythonIntroduction:Selenium is a popular open-source library in Python that offers a convenient and efficient way to automate web browsers. With its comprehensive functionalities, Selenium has become a powerful tool for web scraping, web testing, and web automation. In this article, we will dive into the world of Selenium and explore its various applications, step-by-step.Table of Contents:1. Installation and Setup of Selenium2. Basic Selenium Concepts3. Automating Web Browsers with Selenium4. Web Scraping with Selenium5. Advanced Web Testing with Selenium6. Handling WebDriver Exceptions7. Selenium Best Practices8. Conclusion1. Installation and Setup of Selenium:To begin working with Selenium, we need to install it and set up the necessary components. We can install Selenium using pip, which is the standard package installer for Python. Additionally, we need to install the appropriate web driver for the browser we aim to automate. We'll go through these installation steps for various browsers.2. Basic Selenium Concepts:Before we dive into the practical applications, it's essential to understand the basic concepts of Selenium. We'll discuss elements such as WebDriver, WebElement, locators, and the different functions available in Selenium. Moreover, we'll explore common WebDriver commands and their usage.3. Automating Web Browsers with Selenium:In this section, we'll explore how to automate web browsers using Selenium. We'll look at how to open a browser, navigate to specific URLs, interact with web elements, handle forms, and perform clicks. We'll also understand how to take screenshots and manage cookies using Selenium.4. Web Scraping with Selenium:Selenium also provides an excellent option for web scraping. We'll diveinto the process of extracting data from web pages using Selenium. We'll go through element identification, accessing data within tags or attributes, and handling dynamic content. We'll also discuss how to handle pagination and extract data from multiple pages.5. Advanced Web Testing with Selenium:Selenium is widely used for web testing and quality assurance purposes. In this section, we'll cover advanced testing scenarios using Selenium. We'll explore the capabilities of Selenium for testing AJAX and JavaScript-based applications. Additionally, we'll learn how to interact with pop-ups, handle multiple windows, and perform assertions and verifications.6. Handling WebDriver Exceptions:Selenium can encounter various exceptions and errors during execution. Understanding and handling these exceptions is crucial for writing robust automation scripts. We'll discuss common WebDriver exceptions and how to handle them using try-catch blocks. Moreover, we'll explore techniques to wait for elements and handle timeouts appropriately.7. Selenium Best Practices:To ensure efficient and maintainable automation scripts, it's essential tofollow best practices. We'll discuss practices such as using page objects, implementing a logging mechanism, and organizing tests into test suites. We'll also explore techniques for parallel execution and integrating Selenium with testing frameworks like pytest or unittest.8. Conclusion:In this extensive guide, we have explored the versatile uses of Selenium library in Python. We started with installation and setup, understanding basic concepts, and gradually moved towards automating web browsers, web scraping, and advanced web testing. We also discussed handling exceptions and best practices for efficient usage. With Selenium, the possibilities for automation and testing in the web development domain are vast and continuously expanding.In this article, we have only scratched the surface of Selenium's capabilities. By harnessing the full power of Selenium, developers and testers can build robust, scalable, and efficient web automation solutions.。

python中selenium模块的用法

python中selenium模块的用法

python中selenium模块的用法Selenium是一个用于Web应用程序测试的流行工具,它支持多种编程语言,包括Python。

在Python中使用Selenium模块,可以自动化Web浏览器的操作,例如点击链接、输入文本、提交表单等。

下面是一些使用Python中Selenium模块的常见用法:1、安装Selenium库在命令行中运行以下命令来安装Selenium库:shellpip install selenium2、导入Selenium库在Python脚本中导入Selenium库:pythonfrom selenium import webdriver3、创建WebDriver实例创建WebDriver实例并指定要使用的浏览器类型(例如Chrome、Firefox等):pythondriver = webdriver.Chrome() # 或者使用webdriver.Firefox()等其他浏览器4、打开网页使用WebDriver实例打开指定的网页:pythondriver.get("网址")5、获取页面元素使用WebDriver实例的find_element方法获取页面元素,例如:pythonelement = driver.find_element_by_id("element_id")6、点击元素使用WebDriver实例的click方法点击页面元素:pythonelement.click()7、输入文本使用WebDriver实例的send_keys方法输入文本:pythonelement.send_keys("some text")8、提交表单使用WebDriver实例的submit方法提交表单:pythonelement = driver.find_element_by_name("form_name") element.submit()关闭WebDriver实例9、在完成自动化操作后,关闭WebDriver实例:pythondriver.quit()。

python爬虫从入门到放弃(八)之Selenium库的使用

python爬虫从入门到放弃(八)之Selenium库的使用

python爬⾍从⼊门到放弃(⼋)之Selenium库的使⽤⼀、什么是Seleniumselenium 是⼀套完整的web应⽤程序测试系统,包含了测试的录制(selenium IDE),编写及运⾏(Selenium Remote Control)和测试的并⾏处理(Selenium Grid)。

Selenium的核⼼Selenium Core基于JsUnit,完全由JavaScript编写,因此可以⽤于任何⽀持JavaScript的浏览器上。

selenium可以模拟真实浏览器,⾃动化测试⼯具,⽀持多种浏览器,爬⾍中主要⽤来解决JavaScript渲染问题。

⼆、selenium基本使⽤⽤python写爬⾍的时候,主要⽤的是selenium的Webdriver,我们可以通过下⾯的⽅式先看看Selenium.Webdriver⽀持哪些浏览器执⾏结果如下,从结果中我们也可以看出基本⼭⽀持了常见的所有浏览器:这⾥要说⼀下⽐较重要的PhantomJS,PhantomJS是⼀个⽽基于WebKit的服务端JavaScript API,⽀持Web⽽不需要浏览器⽀持,其快速、原⽣⽀持各种Web标准:Dom处理,CSS选择器,JSON等等。

PhantomJS可以⽤⽤于页⾯⾃动化、⽹络监测、⽹页截屏,以及⽆界⾯测试声明浏览器对象上⾯我们知道了selenium⽀持很多的浏览器,但是如果想要声明并调⽤浏览器则需要:from selenium import webdriverbrowser = webdriver.Chrome()browser = webdriver.Firefox()这⾥只写了两个例⼦,当然了其他的⽀持的浏览器都可以通过这种⽅式调⽤访问页⾯from selenium import webdriverbrowser = webdriver.Chrome()browser.get("")print(browser.page_source)browser.close()上述代码运⾏后,会⾃动打开Chrome浏览器,并登陆百度打印百度⾸页的源代码,然后关闭浏览器查找元素单个元素查找from selenium import webdriverbrowser = webdriver.Chrome()browser.get("")input_first = browser.find_element_by_id("q")input_second = browser.find_element_by_css_selector("#q")input_third = browser.find_element_by_xpath('//*[@id="q"]')print(input_first)print(input_second)print(input_third)browser.close()这⾥我们通过三种不同的⽅式去获取响应的元素,第⼀种是通过id的⽅式,第⼆个中是CSS选择器,第三种是xpath选择器,结果都是相同的。

python selenium用法

python selenium用法

python selenium用法Python Selenium是一种非常流行的自动化测试工具,主要用于模拟浏览器的行为,帮助我们进行网页自动化测试和爬虫开发。

在这篇文章中,我将为大家详细介绍Python Selenium的用法,从安装、选择器、等待、页面操作、异常处理等方面入手,为大家呈现全面、详细的Python Selenium使用指南。

1. 安装Python SeleniumPython Selenium的安装非常简单,只需要pip安装selenium即可。

在命令行中键入“pip install selenium”即可完成安装。

2. 选择器在使用Python Selenium 进行元素选择时,可以使用以下方式来定位元素:-ID 定位-name定位-class定位-css定位-Xpath定位除此之外,还可以使用标签名、链接文本等进行定位。

3. 等待Python Selenium中的等待机制是非常重要的一部分,因为在处理网页时,页面元素之间的交互和刷新时间是不确定的,因此需要使用自动等待机制。

在Python Selenium中,等待机制主要有两种方式——隐式等待和显式等待。

隐式等待:是一种全局性的等待,即在初始时设置一个等待时间,在这个时间内所有的find_element操作都会等待,如果超过了这个时间,仍未找到则会抛出异常。

显式等待:是一种更灵活的等待,允许您在运行时设置等待条件。

这种等待方式跟踪指定元素的出现或未出现。

在等待时间结束之前如果找到该元素,它将立即继续执行。

否则它将等待指定的时间直到等待时间结束,并抛出异常。

4. 页面操作在Python Selenium中,我们可以使用以下方法进行页面操作:get(url):打开指定的网址back():返回上一页forward():前进到下一页refresh():刷新页面maximize_window():将浏览器窗口最大化execute_script(script):运行JavaScript代码5. 异常处理在Python Selenium中,可能会遇到的异常包括NoSuchElementException (元素未找到)、TimeoutException(超时)、WebDriverException(驱动中断)等。

python selenium 使用手册

python selenium 使用手册

文章标题:深度解读:Python Selenium 使用手册1. 介绍在当今信息化时代,网络爬虫和自动化测试等需求越来越多,而Python作为一种功能强大的编程语言,拥有丰富的第三方库,其中Selenium就是其中一个被广泛应用的工具。

本文将深入探讨Python Selenium的使用手册,并为读者提供全面的指导。

2. 简介Selenium是一个自动化Web测试工具,最初是为Web应用的自动化测试开发的,但随着技术的发展,它的应用范围也越来越广。

通过Selenium,可以模拟用户对Web浏览器的操作,包括点击、输入文本、提交表单等。

3. 环境配置在开始使用Python Selenium之前,首先需要安装Python和Selenium库。

通过pip工具可以简单快速地进行安装,安装命令如下:```pythonpip install selenium```4. 基本使用Python Selenium的基本使用非常简单,首先需要导入Selenium库,然后创建一个WebDriver对象,接着就可以使用这个对象来控制浏览器了。

5. 基本操作在实际应用中,我们通常需要进行一些基本操作,比如打开网页、点击按钮、填写表单等。

Python Selenium提供了丰富的方法来实现这些操作,比如:- 打开网页:使用get()方法- 点击按钮:使用click()方法- 填写表单:使用send_keys()方法6. 高级用法除了基本操作之外,Python Selenium还提供了一些高级用法,比如处理弹窗、模拟鼠标操作、等待页面加载等。

这些高级用法可以帮助我们更好地模拟用户操作,提高自动化测试的准确性和稳定性。

7. 个人观点Python Selenium是一个非常强大的工具,它可以帮助我们实现自动化测试、数据采集等需求。

通过本文对Python Selenium的深度解读,相信读者可以更加全面、深入地掌握这一工具的使用方法,并能够灵活应用于实际项目中。

Selenium3自动化测试实战基于Python语言

Selenium3自动化测试实战基于Python语言

作者简介
这是《Selenium3自动化测试实战基于Python语言》的读书笔记,暂无该书作者的介绍。
谢谢观看
这句话提醒我们在进行Web应用程序的自动化测试时需要注意的一些常见问 题,以保证测试的准确性和有效性。
阅读感受
《Selenium3自动化测试实战基于Python语言》读后感
在阅读《Selenium3自动化测试实战基于Python语言》这本书之后,我对于 自动化测试领域有了更深入的了解,同时也掌握了许多实用的技能。这本书不仅 是一本介绍Selenium3自动化测试的教程,更是一本实战指南,通过实例和案例 分析,帮助读者更好地理解和应用自动化测试技术。
本书通过多个案例介绍了Selenium3自动化测试的实践。这些案例涵盖了不同的Web应用程序和 功能,包括登录、搜索、表单提交、数据验证等。通过这些案例的学习,读者可以掌握如何将理 论知识应用到实践中,提高自己的实战能力。
《Selenium3自动化测试实战基于Python语言》这本书的内容丰富、实用,适合Web应用程序的 自动化测试人员和开发人员阅读。通过学习本书的内容,读者可以掌握Selenium3自动化测试的 核心技能,提高自己的工作效率和质量。
第二章到第七章介绍了如何使用不同的方法来定位页面元素。这些方法包括 id定位、name定位、class定位、tag定位、link定位、partial link定位、 XPath定位和CSS定位等。这些方法在自动化测试中非常重要,因为只有正确地定 位到页面元素,才能进行后续的操作和验证。
第八章到第十章介绍了如何控制浏览器。这些内容包括控制浏览器窗口大小、 控制浏览器后退、前进、模拟浏览器刷新等。这些方法可以帮助自动化测试更接 近真实用户的使用体验,提高测试的准确性和可靠性。

Python中Selenium模块的使用详解

Python中Selenium模块的使用详解

Python中Selenium模块的使⽤详解Selenium的介绍、配置和调⽤Selenium(浏览器⾃动化测试框架) 是⼀个⽤于Web应⽤程序测试的⼯具。

Selenium测试直接运⾏在浏览器中,就像真正的⽤户在操作⼀样。

⽀持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera等。

这个⼯具的主要功能包括:测试浏览器的兼容性——测试你的应⽤程序看是否能够很好得⼯作在不同浏览器和操作系统之上。

测试系统功能——创建回归测试检验软件功能和⽤户需求。

⽀持⾃动录制动作和⾃动⽣成 .Net、Java、Perl等不同语⾔的测试脚本。

框架底层使⽤JavaScript模拟真实⽤户对浏览器进⾏操作。

测试脚本执⾏时,浏览器⾃动按照脚本代码做出点击,输⼊,打开,验证等操作,就像真实⽤户所做的⼀样,从终端⽤户的⾓度测试应⽤程序。

使浏览器兼容性测试⾃动化成为可能,尽管在不同的浏览器上依然有细微的差别。

使⽤简单,可使⽤Java,Python等多种语⾔编写⽤例脚本。

Selenium的配置1、安装 Selenium模块: pip install Selenium2、下载浏览器驱动,Selenium3.x调⽤浏览器必须有⼀个webdriver驱动⽂件Chrome驱动⽂件下载:Firefox 驱动⽂件下载:下载之后,解压到任意⽬录(路径不要有中⽂)。

Selenium的调⽤from selenium import webdriver## 如果是chrome浏览器的驱动driver=webdriver.Chrome("G:\Anaconda3-5.3.0\chromedriver.exe")##如果是firefox浏览器的驱动driver=webdriver.Firefox(executable_path="G:\Anaconda3-5.3.0\geckodriver.exe")######如果浏览器驱动的⽬录加⼊了环境变量的话## 如果是chrome浏览器的驱动driver=webdriver.Chrome()##如果是firefox浏览器的驱动driver=webdriver.Firefox()Selenium的使⽤定位Selenium提供了8种定位⽅式1.id3.class name4.tag name5.link text6.partial link text7.xpath8.css selector定位元素的使⽤定位⼀个元素定位多个元素含义find_element_by_id find_elements_by_id通过元素id定位find_element_by_name find_elements_by_name通过元素name定位find_element_by_class_name find_elements_by_class_name通过classname进⾏定位find_element_by_tag_name find_elements_by_tag_name通过标签定位find_element_by_link_text find_elements_by_link_tex通过完整超链接定位find_element_by_partial_link_text find_elements_by_partial_link_text通过部分链接定位find_elements_by_css_selector find_elements_by_css_selector通过css选择器进⾏定位find_element_by_xpath find_elements_by_xpath通过xpath表达式定位例如:<html><body><form id="loginForm"><input name="username" type="text" classname="xie" id="key"/><input name="password" type="password" 型号 /><input name="continue" type="submit" value="Login" /><input name="continue" type="button" value="Clear" /></form><a href="" rel="external nofollow" >百度⼀下</a></body></html>通过id进⾏定位第⼀个input框: find_element_by_id("key")通过name进⾏定位第⼀个input框:find_element_by_name("username")通过classname进⾏定位第⼀个input框:find_element_by_class_name("xie")通过标签tag进⾏定位input框:find_element_by_tag_name("input") //这⾥input太多了,⽤input标签定位会出错通过完整超链接定位a标签: find_element_by_link_text("百度⼀下")⽤xpath进⾏定位:⽤绝对路径进⾏定位,input[1]代表form下⾯的第⼀个input标签,从1开始, input=input[1]driver.find_elemant_by_xpath("//html/body/form/input[1]")⽤相对路径进⾏定位,form标签下的第⼀个input标签,[1]省略了driver.find_element_by_xpath("//form/input")⽤相对路径和属性进⾏定位,form标签下的input标签的name值等于username的标签driver.find_element_by_xpath("//form/input[@name='username']")其他的属性值如果太长,也可以采取模糊⽅法定位例如页⾯中有这么⼀个标签<a href="?name=admin&passwd=pass&action=login" rel="external nofollow" >百度⼀下</a>则可以这么使⽤driver.find_element_by_xpath("//a[contains(@href,'login')]")以上是普通的情况,存在可以定位的属性,当某个元素的各个属性及其组合都不⾜以定位时,我们可以利⽤其兄弟节点或者⽗节点等各种可以定位的元素进⾏定位,先看看xpath中⽀持的⽅法:1、child 选取当前节点的所有⼦元素2、parent 选取当前节点的⽗节点3、descendant选取当前节点的所有后代元素(⼦、孙等)4、ancestor 选取当前节点的所有先辈(⽗、祖⽗等)5、descendant-or-self选取当前节点的所有后代元素(⼦、孙等)以及当前节点本⾝6、ancestor-or-self 选取当前节点的所有先辈(⽗、祖⽗等)以及当前节点本⾝7、preceding-sibling选取当前节点之前的所有同级节点8、following-sibling选取当前节点之后的所有同级节点9、preceding 选取⽂档中当前节点的开始标签之前的所有节点10、following 选取⽂档中当前节点的结束标签之后的所有节点11、self 选取当前节点12、attribute 选取当前节点的所有属性13、namespace选取当前节点的所有命名空间节点上图实例,需要点击订单号为17051915200001的发货按钮,这时候不能直接定位到发货按钮,⽽是要先定位到订单号元素,再定位他的兄弟节点。

selenium模块中的常用方法及其作用

selenium模块中的常用方法及其作用

selenium模块中的常用方法及其作用Selenium是一个用于自动化测试的工具,它提供了一组用于对Web 应用程序进行操作的API。

Selenium模块中包含了许多常用的方法,这些方法可以用于实现自动化测试过程中的各种功能。

下面将介绍一些常用的Selenium方法及其作用。

1. get(url):用于打开指定URL的网页。

作用:打开指定的URL页面,便于后续操作。

2. find_element(by=, value=):用于定位页面元素。

作用:通过定位器定位页面中的元素,便于后续对元素进行操作。

3. send_keys(value):用于向页面元素发送文本。

作用:向定位到的页面元素发送指定的文本内容。

4. click(:用于点击页面元素。

作用:模拟用户点击定位到的页面元素。

5. clear(:用于清空文本框中的内容。

作用:清空定位到的文本框中的文本内容。

6. submit(:用于提交表单。

作用:提交定位到的表单。

7. get_attribute(name):用于获取元素的属性值。

作用:获取定位到的元素的指定属性的值。

8. is_displayed(:用于判断元素是否可见。

作用:判断定位到的元素是否在当前屏幕上可见。

9. is_enabled(:用于判断元素是否可用。

作用:判断定位到的元素是否可用,即是否可以进行操作。

10. text(:用于获取元素的文本内容。

作用:获取定位到的元素的文本内容。

11. select_by_visible_text(text):用于根据可见文本选择下拉选项。

作用:从定位到的下拉菜单中根据可见文本选择指定的选项。

12. select_by_value(value):用于根据value属性选择下拉选项。

作用:从定位到的下拉菜单中根据value属性的值选择指定的选项。

13. switch_to_frame(frame_reference):用于切换到指定的frame。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.2 把下载好的chromedriver.exe放到Python安装目录下,下载方法二、启动浏览器2.1 普通启动方式#!/usr/bin/python3# encoding:utf‐8from selenium import webdriver#启动Firefox浏览器#browser = webdriver.Firefox()#启动IE浏览器#browser = webdriver.Ie()#启动Chrome浏览器#指定驱动方式启动:webdriver.Chrome(executable_path="D://chromedriver.exe") browser = webdriver.Chrome()browser.get("")2.2 Headless启动方式说明:浏览器的无界面形态,无需打开浏览器即可运行,此种方式只chrome60+版本#!/usr/bin/python3# encoding:utf‐8from selenium import webdriverchrome_hless = webdriver.ChromeOptions()# 使用headless无界面浏览器模式chrome_hless.add_argument('‐‐headless')chrome_hless.add_argument('‐‐disable‐gpu')# 启动浏览器,获取网页源代码browser = webdriver.Chrome(chrome_options=chrome_hless)mainUrl = "https:///"browser.get(mainUrl)print(browser.title)browser.quit()'''运行之后结果打印百度标题:百度一下,你就知道'''三、元素定位元素定位方法id find_element_by_id()name find_element_by_name()class find_element_by_class_name()link_text find_element_by_link_text("全部文字匹配") partial_link_text find_element_by_partial_link_text("部分文字匹配") tag find_element_by_tag_name()xpath find_element_by_xpath()css find_element_by_css_selector()详见Python + Selenium 元素定位详细四、selenium三种等待方式4.1 强制等待固定等待XX秒时长from selenium import webdriverimport timetime.sleep(3)4.2 隐性等待设置最长等待时长XX秒:第一种情况:最长等待时长内浏览器一旦加载完成,直接进行下一步操作第二种情况:超出设置最长等待时长,再进行下一步操作# 浏览器加载完成,即进行下一步操作,如果10秒钟还未加载完成,也进行下一步操作driver.implicitly_wait(10)4.3 显性等待WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。

它主要的意思就是:程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutExceptionwait模块的WebDriverWait类是显性等待类,先看下它有哪些参数与方法:selenium.webdriver.support.wait.WebDriverWait(类) initdriver: 传入WebDriver实例,即我们上例中的drivertimeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间)poll_frequency: 调用until或until_not中的方法的间隔时间,默认是0.5秒ignored_exceptions: 忽略的异常,如果在调用until或until_not的过程中抛出这个元组中的异常,则不中断代码,继续等待,如果抛出的是这个元组外的异常,则中断代码,抛出异常。

默认只有NoSuchElementException。

untilmethod: 在等待期间,每隔一段时间(__init__中的poll_frequency)调用这个传入的方法,直到返回值不是Falsemessage: 如果超时,抛出TimeoutException,将message传入异常until_not与until相反,until是当某元素出现或什么条件成立则继续执行,until_not是当某元素消失或什么条件不成立则继续执行,参数也相同,不再赘述。

具如下WebDriverWait(driver, 超时时长, 调用频率, 忽略异常).until(可执行方法, 超时时返回的信息)特别注意的是until或until_not中的可执行方法method参数,很多人传入了WebElement对象,如下:WebDriverWait(driver, 10).until(driver.find_element_by_id('kw')) # 错误这是错误的用法,这里的参数一定要是可以调用的,即这个对象一定有 call() 方法,否则会抛出异常:TypeError: 'xxx' object is not callable 在这里,你可以用selenium提供的expected_conditions 模块中的各种条件,也可以用WebElement的 is_displayed() 、is_enabled()、**is_selected() **方法,或者用自己封装的方法都可以WebDriverWait 常用方法表对象动作title_is判断当前页面的title是否完全匹配对象动作title_contains判断当前页面的title是否包含预期字符串presence_of_element_located判断某个元素是否被加到了dom树里,并不代表该元素一定可见visibility_of_el ement_located 判断某个元素是否可见.可见代表元素非隐藏,并且元素的宽和高都不等于0visibility_of跟上面的方法做一样的事情,只是上面的方法要传入locator,这个方法直接传定位到的element就好了presence_of_al l_elements_loc ated 判断是否至少有1个元素存在于dom树中。

举个例子,如果页面上有n个元素的class都是'column-md-3',那么只要有1个元素存在,这个方法就返回Truetext_to_be_present_in_element判断某个元素中的text是否包含了预期的字符串text_to_be_present_in_element_value判断某个元素中的value属性是否包含了预期的字符串frame_to_be_a vailable_and_s witch_to_it 判断该frame是否可以switch进去,如果可以的话,返回True并且switch进去,否则返回Falseinvisibility_of_element_located判断某个元素中是否不存在于dom树或不可见element_to_be _clickable 判断某个元素中是否可见并且是enable的,这样的话才叫clicka blestaleness_of等某个元素从dom树中移除,注意,这个方法也是返回True或F alseelement_to_be_selected判断某个元素是否被选中了,一般用在下拉列表element_selection_state_to_be判断某个元素的选中状态是否符合预期element_locat ed_selection_s tate_to_be 跟上面的方法作用一样,只是上面的方法传入定位到的elemen t,而这个方法传入locatoralert_is_present判断页面上是否存在alert源码举例#coding=utf‐8from selenium import webdriverfrom mon.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import WebDriverWaitbase_url = ""driver = webdriver.Chrome()driver.implicitly_wait(5)'''隐式等待和显示等待都存在时,超时时间取二者中最大的'''locator = (By.ID,'kw')driver.get(base_url)'''判断title是否存在,返回布尔值'''WebDriverWait(driver,10).until(EC.title_is(u"百度一下,你就知道"))if WebDriverWait(driver,10).until(EC.title_is(u"百度一下,你就知道")) :print("已找到标题百度一下,你就知道")WebDriverWait(driver,10).until(EC.title_contains(u"百度一下"))'''判断某个元素是否被加到了dom树里,并不代表该元素一定可见,如果定位到就返回WebElement'''srk = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,'kw')))#百度输入框,输入selenimsrk.send_keys("selenim")'''判断某个元素是否被添加到了dom里并且可见,可见代表元素可显示且宽和高都大于0''' WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,'su')))'''判断元素是否可见,如果可见就返回这个元素WebElement'''WebDriverWait(driver,10).until(EC.visibility_of(driver.find_element(by=By.ID,value='kw')) )'''判断是否至少有1个元素存在于dom树中,如果定位到就返回WebElement列表'''WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,'.mna v')))'''判断是否至少有一个元素在页面中可见,如果定位到就返回WebElement列表'''WebDriverWait(driver,10).until(EC.visibility_of_any_elements_located((By.CSS_SELECTOR,'.m nav')))'''判断指定的元素中是否包含了预期的字符串,返回布尔值'''WebDriverWait(driver,10).until(EC.text_to_be_present_in_element((By.XPATH,"//*[@id='u1']/a[8]"),u'设置'))'''判断指定元素的属性值中是否包含了预期的字符串,返回布尔值'''WebDriverWait(driver,10).until(EC.text_to_be_present_in_element_value((By.CSS_SELECTOR,'# su'),u'百度一下'))'''判断该frame是否可以switch进去,如果可以的话,返回True并且switch进去,否则返回False'''#WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it(locator))#注意这里并没有一个frame可以切换进去'''判断某个元素在是否存在于dom或不可见,如果可见返回False,不可见返回这个元素''' WebDriverWait(driver,10).until(EC.invisibility_of_element_located((By.CSS_SELECTOR,'#swfEveryCookieWrap')))#注意#swfEveryCookieWrap在此页面中是一个隐藏的元素'''判断某个元素中是否可见并且是enable的,代表可点击'''WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//*[@id='u1']/a[8]"))).click()driver.find_element_by_xpath("//*[@id='wrapper']/div[6]/a[1]").click()'''等待某个元素从dom树中移除'''#WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//*[@id='wrapper']/div[6]/a[1]"))).click()#WebDriverWait(driver,10).until(EC.staleness_of(driver.find_element(By.ID,'su')))#这里没有找到合适的例子'''判断某个元素是否被选中了,一般用在下拉列表'''WebDriverWait(driver,10).until(EC.element_to_be_selected(driver.find_element(By.XPATH,"// *[@id='nr']/option[1]")))'''判断某个元素的选中状态是否符合预期'''WebDriverWait(driver,10).until(EC.element_selection_state_to_be(driver.find_element(By.XP ATH,"//*[@id='nr']/option[1]"),True))'''判断某个元素的选中状态是否符合预期'''WebDriverWait(driver,10).until(EC.element_located_selection_state_to_be((By.XPATH,"//* [@id='nr']/option[1]"),True))driver.find_element_by_xpath(".//*[@id='gxszButton']/a[1]").click()'''判断页面上是否存在alert,如果有就切换到alert并返回alert的内容'''instance = WebDriverWait(driver,10).until(EC.alert_is_present())print(instance.text)instance.accept()driver.close()五、浏览器操作5.1 将浏览器最大化显示browser.maximize_window()5.2 将浏览器最小化显示browser.minimize_window()5.3 设置浏览器宽1366、高768显示browser.set_window_size(1366, 768)5.4 浏览器前进、后退、退出、关闭browser.forword()#前进browser.back()#后退browser.quit()#退出browser.close()#关闭六、.操作元素对象对象-动作clear()清空send_keys()键盘操作click()点击submit()提交text获取对象文本get_attribute()获取对象属性值源码举例#coding=utf‐8from selenium import webdriverfrom mon.by import Byfrom selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWaitbase_url = ""driver = webdriver.Chrome()driver.get(base_url)driver.implicitly_wait(5)#clear() 清空driver.find_element(By.ID,'kw').clear()#send_keys()输入框键盘输入selectdriver.find_element(By.ID,'kw').send_keys("select")#click()点击对象driver.find_element(By.ID,'su').click()#submit()提交,注意类型type=‘submit’driver.find_element(By.ID,'su').submit()#text获取元素文本值button_name = driver.find_element_by_id('su').text#get_attribute("type") 获取属性值button_type = driver.find_element_by_id('su').get_attribute("type") if button_type == "submit":print("type为submit")七、键盘事件对象动作send_keys(Keys.TAB)TABsend_keys(Keys.ENTER)回车send_keys(Keys.F12)F12send_keys(Keys.CONTROL,'a')ctrl+a源码举例#coding=utf‐8from selenium import webdriverimport time#键盘操作必须输入包from mon.keys import Keysdriver = webdriver.Chrome()driver.get("")driver.implicitly_wait(5)bdsrk = driver.find_element_by_id('kw')bdsrk.send_keys('输入')#TABbdsrk.send_keys(Keys.TAB)time.sleep(3)#回车bdsrk.send_keys(Keys.ENTER)time.sleep(3)#ctrl+a 全选输入框内容driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')time.sleep(3)#F12bdsrk.send_keys(Keys.F12)driver.close()八、.鼠标事件对象动作click单击context_click()右击double_click()双击drag_and_drop()拖动move_to_element()鼠标悬停click_and_hold按下鼠标左键在一个元素上源码举例#coding=utf‐8from selenium import webdriverimport time#鼠标操作必须输入包from mon.action_chains import ActionChains driver = webdriver.Chrome()driver.get("")driver.implicitly_wait(5)bdsrk = driver.find_element_by_id('kw')#百度一下按钮bdan = driver.find_element_by_id('su')#视频链接dt =driver.find_element_by_name("tj_trtieba")time.sleep(3)#单击bdsrk.click()time.sleep(3)#右击ActionChains(driver).context_click(bdsrk).perform()time.sleep(3)#双击ActionChains(driver).double_click(bdan).perform()time.sleep(3)#鼠标拖放 从百度一下按钮拖动到新闻链接位置ActionChains(driver).drag_and_drop(bdan,dt)time.sleep(3)#鼠标悬停ActionChains(driver).move_to_element(dt).perform()time.sleep(3)driver.close()九、.多层框架/层级定位定位元素过程中经常会遇到找不到元素的问题,出现该问题一般都是以下因素导致:元素定位方法不对页面存在iframe或内嵌窗口页面超时 webdriver 提供了一个 switch_to_frame 方法,可以很轻松的来解决这个问题。

相关文档
最新文档