Оглавление
Подробный процесс установки можно найти в этой статье! ! !
Selenium — инструмент для автоматического тестирования веб-приложений. Тесты Selenium запускаются прямо в браузере, как у реальных пользователей. Поддерживаемые браузеры: IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera и т. д. Подходит для автоматического тестирования, динамических сканеров js (антикраулеров) и других областей.
Установка Selenium и базовое использование_Блог Сяо Сяомин-Code Entity-Блог CSDN
1) Selenium IDE: плагин, встроенный в браузер Firefox для реализации простых функций записи и воспроизведения операций браузера. Он в основном используется для быстрого создания ошибок и воспроизведения сценариев и может быть преобразован на несколько языков.
2) Selenium RC: основной компонент, поддерживает написание автоматических тестовых сценариев на нескольких разных языках и использует свой сервер в качестве прокси-сервера для доступа к приложениям в целях тестирования.
3) Selenium WebDriver (ключевой момент): среда автоматизации браузера, которая принимает команды и отправляет их в браузер. Это реализуется через драйверы, специфичные для браузера. Он напрямую взаимодействует с браузером и управляет им. Selenium WebDriver поддерживает различные языки программирования, такие как Java, C#, PHP, Python, Perl, Ruby.
4) Selenium Grid: вспомогательный инструмент тестирования, используемый для распределенного тестирования. Он может выполнять несколько задач тестирования параллельно для повышения эффективности тестирования.
1) С открытым исходным кодом и бесплатно. 2) Поддержка нескольких браузеров: FireFox, Chrome, IE, Opera, Edge; 3) Поддержка нескольких платформ: Linux, Windows, MAC; 4) Многоязычная поддержка: Java, Python, Ruby, C#, JavaScript, C++; 5) Хорошая поддержка веб-страниц; 6) Простой (API прост) и гибкий (управляемый языком разработки); 7) Поддержка выполнения распределенных тестовых примеров.
Краулер: сбор данных, ясность данных, анализ данных! ! !
Скачать пакет драйверов http://chromedriver.storage.googleapis.com/index.html
Создайте проект и импортируйте зависимости
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
начиная
//Устанавливаем драйвер
System.setProperty("webdriver.chrome.driver","D:\\chromedriver.exe");
//Создаем драйвер
WebDriver driver=new ChromeDriver();
//Устанавливаем соединение с сайтом, который нужно сканировать
driver.get("https://www.baidu.com");
//Закрываем браузер
driver.close();
//Освобождаем ресурсы
driver.quit();
1. Метод выбора элемента
1) Выбор класса: driver.findElement(By.className("s_ipt")); 2) Выбор идентификатора: driver.findElement(By.id("kw")); 3) Выбор имени: driver.findElement(By.name("wd")); 4) выбор тега: driver.findElements(By.tagName("input")); 5) Выбор ссылки: driver.findElement(By.linkText("map")); 6) Частичный выбор ссылки (нечеткое совпадение текстового содержимого тега): driver.findElement(By.partialLinkText("Использовать сотню")); 7) селектор CSS: driver.findElement(By.cssSelector("#kw")); 8) выбор xpath: driver.findElement(By.xpath("//*[@id=\"kw\"]"));
2. Получите один элемент: driver.findElement.
3. Получите несколько элементов: driver.findElements.
4. Входной контент: input.sendKeys("java");
5. Щелчок по элементу: element.click();
6. Получить атрибуты элемента: nextPageEle.getAttribute("class")
7. Получите текстовое содержимое метки: titleEle.getText().
package com.zking;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.List;
public class Demo {
public static void main(String[] args) {
//Устанавливаем драйвер
System.setProperty("webdriver.chrome.driver", "D:\\app\\Administrator\\initPath\\chromedriver.exe");
//Создаем драйвер
WebDriver driver = new ChromeDriver();
//Устанавливаем соединение с сайтом, который нужно сканировать
driver.get("https://www.baidu.com");
// 1) Выбор класса: driver.findElement(By.className("s_ipt"));
// WebElement element=driver.findElement(By.className("s_btn"));
// System.out.println(element.getAttribute("value"));
//
// 2) Выбор идентификатора: driver.findElement(By.id("kw"));
// WebElement element=driver.findElement(By.id("kw"));
// System.out.println(element.getAttribute("class"));
//
// 3) выбор имени: driver.findElement(By.name("wd"));
// WebElement element=driver.findElement(By.name("wd"));
// System.out.println(element.getAttribute("maxlength"));
//
// 4) выбор тега: driver.findElements(By.tagName("input"));
// List<WebElement> elements = driver.findElements(By.tagName("a"));
// for (WebElement element:elements){
// System.out.println(element.getText().trim());
// }
// 5) выбор ссылки: driver.findElement(By.linkText("Карта"));
// WebElement elemen = driver.findElement(By.linkText("Сетевой диск"));
// System.out.println(elemen.getText());
// 6)Partial Выбор ссылки (нечеткое совпадение текстового содержимого тега): driver.findElement(By.partialLinkText("Использовать сотню"));
// List<WebElement> elements = driver.findElements(By.partialLinkText("люди"));
// for (WebElement element:elements){
// System.out.println(element.getText());
// }
// 7) селектор CSS: driver.findElement(By.cssSelector("#kw"));
// List<WebElement> elements = driver.findElements(By.cssSelector("#hotsearch-content-wrapper > li:nth-child(1)"));
// for(WebElement element:elements){
// System.out.println(element.getText());
// }
// 8) выбор xpath: driver.findElement(By.xpath("//*[@id=\"kw\"]"));
// WebElement element = driver.findElement(By.xpath("//*[@id=\"kw\"]"));
// System.out.println(element.getAttribute("value"));
//
// driver.findElement(By.id("kw")).sendKeys("java");
// driver.findElement(By.id("su")).click();
// }
}
}
Мой блог скоро будет синхронизирован с сообществом разработчиков Tencent Cloud.,Приглашаем всех присоединиться к нам:https://cloud.tencent.com/developer/support-plan?invite_code=1y1pcwsaf33mn