通过Selenium实现新浪微博自动授权

新浪微博password授权模式需要申请,否则调用access_token返回HTTP status 400,code方式授权需要用户自己在浏览器输入用户名、密码,烦。http client模拟吧,发现多了一个ticket,sina用加密算法算的。如何直接授权?google了一下,看到网上有几种方案:
1、自己java按照ticket算法生成ticket然后http client模拟提交的;
2、通过js实现授权的;
我发明种新的,用Selenium!
[code]
WebDriver driver = new ChromeDriver();
driver.get(url + "?" + queryString);
WebElement userIdElement = driver.findElement(By.xpath(xPathOfUserId));
logger.info("--- userName: " + userIdElement);
if (userIdElement != null) {
userIdElement.sendKeys(userName);
WebElement passwordElement = driver.findElement(By
.xpath(xPathOfPassword));
logger.info("--- password: " + passwordElement);
if (passwordElement != null) {
passwordElement.sendKeys(password);
WebElement submitElement = driver.findElement(By
.xpath(xPathOfSubmit));
if (submitElement != null) {
logger.info("--- submit: " + submitElement);
submitElement.click();
}
}
}
logger.info("waiting...");
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
e.printStackTrace();
}
logger.info("quit");
driver.quit();
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值