雄安做网站优化,怎么做网站推广的步骤,开网站空间流量怎么选择,总行网站建设银行报一、Java爬虫简介
1.1 Selenium Selenium爬虫是一种基于浏览器自动化的爬虫技术#xff0c;可以模拟用户的操作行为#xff0c;实现对动态网页的爬取。
1.2 jsoup Jsoup拥有十分方便的api来处理html文档#xff0c;比如参考了DOM对象的文档遍历方法#xff0c;参考了CSS选…一、Java爬虫简介
1.1 Selenium Selenium爬虫是一种基于浏览器自动化的爬虫技术可以模拟用户的操作行为实现对动态网页的爬取。
1.2 jsoup Jsoup拥有十分方便的api来处理html文档比如参考了DOM对象的文档遍历方法参考了CSS选择器的用法等等。
1.3 浏览器驱动下载 下载指定的浏览器驱动需要和自己电脑上的浏览器版本一致。
Chrome驱动下载地址Microsoft Edge驱动下载地址Firefox驱动下载地址
二、引入依赖 jsoup.version1.17.2/jsoup.versionselenium-java.vesion4.21.0/selenium-java.vesiondependencygroupIdorg.jsoup/groupIdartifactIdjsoup/artifactIdversion${jsoup.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion${selenium-java.vesion}/version/dependency 三、测试
import java.time.Duration;
import java.util.List;import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;Slf4j
class WebCrawlerUtilTest {private static WebDriver driver;BeforeAllpublic static void setUp() {String webdriverName webdriver.chrome.driver;String driverPath E:\\Java_Tools\\Browser_driver\\Chrome\\version_126\\chromedriver-win64\\chromedriver.exe;// 设置Chrome驱动位置System.getProperties().setProperty(webdriverName, driverPath);}AfterEach()public void after() {ThreadUtils.sleep(Duration.ofSeconds(5));driver.quit();}Testvoid test_open_browser() {// 加载 Chrome 浏览器驱动driver new ChromeDriver();ThreadUtils.sleep(3);//设置访问地址String url https://www.baidu.com/;driver.get(url);// 新标签页打开百度新闻driver.findElement(By.linkText(新闻)).click();// 新标签页打开百度视频driver.findElement(By.linkText(地图)).click();}Testvoid test_find_element() {// 加载 Chrome 浏览器驱动driver new ChromeDriver();ThreadUtils.sleep(3);//设置访问地址String url https://www.baidu.com/;driver.get(url);// 新标签页打开百度新闻WebElement we driver.findElement(By.xpath(//input[idkw]));// 往搜索框里输入”五一“的搜索内容we.sendKeys(五一);we driver.findElement(By.id(su));we.click();}Testpublic void test_find_element_2() {// 加载 Chrome 浏览器驱动driver new ChromeDriver();ThreadUtils.sleep(3);//设置访问地址String url https://www.baidu.com/;driver.get(url);ListWebElement wes driver.findElements(By.className(title-content-title));log.info(find_elements()返回的数据类型是type({}}), wes);for (WebElement we : wes) {log.info(we.toString());log.info(we.getText());}}Testpublic void test_mouse_action() {// 加载 Chrome 浏览器驱动driver new ChromeDriver();ThreadUtils.sleep(3);//设置访问地址String url https://www.baidu.com/;driver.get(url);// 设置浏览器窗口的大小driver.set_window_size(宽,高);driver.manage().window().setSize(new Dimension(1200, 800));WebElement we driver.findElement(By.id(s-usersetting-top));Actions action new Actions(driver);action.moveToElement(we).perform();ThreadUtils.sleep(5);WebElement we2 driver.findElement(By.linkText(图片));action.contextClick(we2).perform();ThreadUtils.sleep(5);// 用于刷新当前页面driver.navigate().refresh();}Testpublic void test_keyboard_action() {// 加载 Chrome 浏览器驱动driver new ChromeDriver();ThreadUtils.sleep(3);//设置访问地址String url https://www.baidu.com/;driver.get(url);WebElement we driver.findElement(By.id(kw));// 模拟键盘操作we.sendKeys(五一);// 使用回车代替点击 driver.find_element(By.ID, su)we.sendKeys(Keys.ENTER);}
}