使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)

摘要:
上一篇文章使用Java正则表达式来确定和获取图像的链接和跳转URL。本文使用selenium自己的API(getAttribute,:从代码实现中可以看出,图片位于div中

上一篇使用Java正则表达式来判断和获取图片的链接以及跳转的网址,这篇使用selenium的自带的API(getAttribute)来获取网页中指定的内容

实现内容:获取下面所有图片的链接地址以及跳转地址,使用get请求判断是否有死链

页面内容如图:

使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)第1张

页面的源码,需要获取页面的href后的地址,以及src后的地址,:

使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)第2张

代码实现可以看出图片都在一个div中,实现的思想为:获取控件集合,在获取每一个li下的元素,在获取,在取出数据下的属性名的属性值

public void new_classification() throws Exception {
        op.loopGet(home, 40, 3, 60);
        op.loopClickElement("swimmer", 3, 10, explicitWaitTimeoutLoop);// 进入到某个页面
        if (driver.getCurrentUrl().contains("swimwear")) {
            List<WebElement> newimage = driver.findElements(By.xpath("//*[@id='js_proList']/ul/li"));// 图片的控件集合
            for (int i = 0; i < newimage.size(); i++) {
                String contentURL = newimage.get(i).findElement(By.xpath("p[1]/a[1]")).getAttribute("href");// 图片的跳转地址
                String imageURL = newimage.get(i).findElement(By.xpath("p[1]/a[1]/img")).getAttribute("src");// 图片的链接地址
                Pub.get(contentURL);
                System.out.println("**********************");
                Pub.get(imageURL);//get请求
            }
        } else {
            Log.logError("没有进入到new页面");
        }
    }
结果展示

 使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)第3张

 如果需要使用正则表达式,查看文章:http://www.cnblogs.com/chongyou/p/7286447.html

免责声明:文章转载自《使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.net core2.2 利用Nginx反向代理在Ubuntu下部署安全和加密——openssl及自建CA下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Selenium Webdirver API(1)

Selenium Webdirver API 前提:引入webdriver包 from selenium import webdriver 1、创建浏览器对象driver = webdriver.Ie(executable_path="D:\IEDriverServer")#不同浏览器只需更改浏览器名称即可,如:webdriver.Chrome() web...

selenium自动化之鼠标操作

在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素。那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChains。 ActionChains可以对需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等进行操作。ActionChains方法列表: cl...

Selenium自动化获取WebSocket信息

性能日志 ChromeDriver支持性能日志记录,您可以从中获取域“时间轴”,“网络”和“页面”的事件,以及指定跟踪类别的跟踪数据。 启用性能日志 默认情况下不启用性能日志记录。因此,在创建新会话时,您必须启用它。 DesiredCapabilities cap = DesiredCapabilities.chrome();LoggingPref...

selenium常用命令之操作页面元素及获取元素内容的事件整理

 /**id <input type="text" id="phone" name="phone" class="LoginText" placeholder="手机号" >          * <button class="LoginBtn" id="btnLogin" value="baidu"> 登录</button&...

selenium3+python自动化50-环境搭建(firefox)【转载】

前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的。 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but una...

3 使用selenium模拟登录csdn

之前通过F12开发者模式调试,获取网站后台服务器验证用户名和密码的URL之后,再构造post数据的方式会存在一个问题,就是对目标网站的验证机制不明确,构造post数据除了用户名和密码之外,还可能有更复杂的协议。比如csdn的fkid机制,见上一篇博文。 2 模拟登录_Post表单方式(针对chinaunix有效,针对csdn失效,并说明原因) 使用sele...