selenium + firefox登录空间
在网上看到的大部分都是Python版本的,于是写了个java版本的
环境:
selenium-java 3.9.1
firefox 57.0
geckodriver 0.19.1
firefox与geckodriver下载地址请参考https://blog.csdn.net/cyjs1988/article/details/73039423
代码(注意修改用户名与密码)
public class QZLogin {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.gecko.driver", "D:/browserdriver/geckodriver.exe");
FirefoxOptions options = new FirefoxOptions();
options.setBinary("F:/ff/firefox.exe");
WebDriver driver = new FirefoxDriver(options);
driver.manage().window().maximize();
//超时
try {
driver.manage().timeouts().pageLoadTimeout(3,TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(3, TimeUnit.SECONDS);
driver.get("https://i.qq.com/");
} catch (Exception e) {
System.out.println("所需元素已出现,停止加载页面");
}finally {
//切换到登录login
driver.switchTo().frame("login_frame");
WebElement switcher_plogin = driver.findElement(By.id("switcher_plogin"));
System.out.println(switcher_plogin.getText());
if(switcher_plogin.isDisplayed()) {
switcher_plogin.click();
}
//用户名
driver.findElement(By.id("u")).clear();
driver.findElement(By.id("u")).sendKeys("******");
//密码
driver.findElement(By.id("p")).clear();
driver.findElement(By.id("p")).sendKeys("******");
//登录
driver.findElement(By.id("login_button")).click();
//等待跳转
Thread.sleep(3000);
//退出frame
driver.switchTo().defaultContent();
System.out.println(driver.getCurrentUrl());
}
// driver.quit();
}
如果你发现程序可以执行,但是速度极慢,多半是因为没有设置超时,导致页面一直在加载,事实上只要你定位的元素出现,就可以停止加载页面了,涉及到iframe的必须切换到iframe,才能定位元素
爬取空间相册:https://www.cnblogs.com/tele-share/p/9610791.html
selenium + firefox登录空间的更多相关文章
- selenium firefox 提取qq空间相册链接
环境: selenium-java 3.9.1 firefox 57.0 geckodriver 0.19.1 1.大概的思路就是模拟用户点击行为,关于滚动条的问题,我是模拟下拉箭头,否则只能每个相册 ...
- 使用Python+Selenium模拟登录QQ空间
使用Python+Selenium模拟登录QQ空间爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleniu ...
- selenium模拟登录豆瓣和qq空间
selenium模拟登录豆瓣和qq空间今天又重新学习了下selenium,模拟登录豆瓣,发现设置等待时间真的是很重要的一步,不然一直报错:selenium.common.exceptions.NoSu ...
- webcollector + selenium 爬取空间相册图片
package cn.hb.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWr ...
- 使用Selenium+firefox抓取网页指定firefox_profile后的问题
from: https://blog.csdn.net/chufazhe/article/details/51145834 摘要:在使用selenium和firefox抓取网页指定firefox_pr ...
- 4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)
代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 16:13:52 2018 @author: a " ...
- selenium 爬取空间说说
package cn.hb.util; import java.io.File; import java.io.FileWriter; import java.io.IOException; impo ...
- Selenium2学习-038-firefox、webdriver版本不对称问题解决:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055
今天有个朋友在群里问,为何脚本运行不通过,其脚本操作步骤简单描述如下: 1.启动火狐浏览器 2.打开百度 3.查询框输入关键字 4.点击按钮[百度一下] 脚本挺简单的,其给出的应用报错信息如下所示: ...
- WebDriver:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms
今天尝试最新的webDriver与fireFox搭配: 运行代码时出现如下的问题,但是浏览器却可以打开: org.openqa.selenium.firefox.NotConnectedExcepti ...
随机推荐
- python输出杨辉三角
使用python列表,展示杨辉三角 # !/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan yanghui = [] fo ...
- python中如何在一张图上画两条折线
摘自:https://segmentfault.com/q/1010000002760775
- windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...
- php spl标准库简介(SPL是Standard PHP Library(PHP标准库)(直接看代码实例,特别方便)
php spl标准库简介(SPL是Standard PHP Library(PHP标准库)(直接看代码实例,特别方便) 一.总结 直接看代码实例,特别方便易懂 thinkphp控制器利眠宁不支持(说明 ...
- windows7 通过WSUS服务器更新,报错,错误代码800b0001
链接 您好,根据分析您的日志,可以看到“WARNING: WU client failed Searching for update with error 0x800b0001”等关键信息, 故障原因 ...
- SoC中的IP模块学习
SoC中的IP模块学习 理解IP Spec-->register定义,理解原理+架构框图 查看testcase+model(看已有的测试例程),分析操作/使用模块的流程,寄存器的配置方法 运行仿 ...
- HASH算法具体解释
做了几年开发,一直不理解HASH算法的原理.今天偶从百度知道上看到一个牛人神一样的理解: 这个问题有点难度.不是非常好说清楚. 我来做一个比喻吧. 我们有非常多的小猪,每一个的体重都不一样,假设体重分 ...
- Python 奇葩语法
a = 1, 2, 3 赋值后的结果,a == (1, 2, 3),将一个元组(tuple)赋给了变量 a (1, 2) + (3, ) ⇒ (1, 2, 3),并不能说明 tuple 可以添加新的元 ...
- (三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1
原文:(三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1 如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Cen ...
- 【38.02%】【codeforces 625B】War of the Corporations
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...