Selenium怎样定位虎牙直播登录
来源:互联网 发布:内功真的存在吗 知乎 编辑:程序博客网 时间:2024/06/10 09:05
三、Selenium怎样定位虎牙直播:
为什么要选择虎牙直播呢?是因为我觉得虎牙直播的前端渲染的比较复杂,有代表性;
首先我们做一下准备工作,把测试前的代码写好:
import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import java.util.concurrent.TimeUnit;public class HuYa { public static void main(String[] args) { WebDriver driver; System.setProperty("webdriver.firefox.marionette", "C:\\Program Files\\Mozilla Firefox\\firefox.exe"); String Url = "http://www.huya.com/"; //虎牙地址 driver =new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get(Url); driver.manage().window().maximize(); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } }}
然后手动打开浏览器,打开虎牙:http://www.huya.com/,并点击登录:
driver.findElement(By.xpath(".//*[@id='nav-login']")).click(); //点击登录
然后再返回浏览器:
注意了,本期的重点来了:
如果按照上一篇教的方法,这个框里面的手机号、密码和登录死活都定位不了,这是为什么呢?
让我们看页面源码:
好了,找到原因了,原来这里有个:iframe id="udbsdk_frm_normal",就是它了;
让我么返回代码:
driver.switchTo().frame("udbsdk_frm_normal"); //切换到登录框里面
然后再定位手机号输入框、密码输入框和登陆按钮:
driver.findElement(By.xpath(".//*[@id='m_commonLogin']/div[1]/span/input")).sendKeys("13699999999");//输入手机号driver.findElement(By.xpath(".//*[@id='m_commonLogin']/div[2]/span/input")).sendKeys("abc123");//输入密码driver.findElement(By.xpath(".//*[@id='m_commonLogin']/div[5]/a[1]")).click();//点击登录
好了,再跑一把,成功登录了!
当然了,我这里公布的是假的手机号和密码,
你自己跑的时候用真实的!
附上完整代码:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import java.util.concurrent.TimeUnit;public class HuYa { public static void main(String[] args) { WebDriver driver; System.setProperty("webdriver.firefox.marionette", "C:\\Program Files\\Mozilla Firefox\\firefox.exe"); String Url = "http://www.huya.com/"; //虎牙地址 driver =new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get(Url); driver.manage().window().maximize(); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } driver.findElement(By.xpath(".//*[@id='nav-login']")).click(); //点击登录 driver.switchTo().frame("udbsdk_frm_normal"); //切换到登录框里面 driver.findElement(By.xpath(".//*[@id='m_commonLogin']/div[1]/span/input")).sendKeys("13699999999"); //输入手机号 driver.findElement(By.xpath(".//*[@id='m_commonLogin']/div[2]/span/input")).sendKeys("abc123"); //输入密码 driver.findElement(By.xpath(".//*[@id='m_commonLogin']/div[5]/a[1]")).click(); //点击登录 try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } driver.quit(); }}
阅读全文
0 0
- Selenium怎样定位虎牙直播登录
- Selenium怎样利用Xpath定位元素
- “虎牙直播”实习生面试 c++中的智能指针
- selenium +phantomjs 登录126邮箱 iframe定位问题
- 虎牙直播2016年度盛典圆满落幕 看直播界“金鹰节”如何炼成
- 游戏直播哪家强?虎牙、斗鱼、熊猫三强App大PK
- 游戏直播哪家强?虎牙、斗鱼、熊猫三强App大PK
- selenium UI元素定位
- selenium 元素定位
- selenium元素定位
- selenium元素定位
- Selenium 如何定位元素
- Selenium元素定位
- selenium webdriver定位元素
- Selenium 元素定位
- Selenium元素定位方式
- selenium 定位截图
- Selenium 元素定位
- PHP常用日期函数
- 挑战程序竞赛系列(46):4.1Polya 计数定理(2)
- VMware网络配置详解:三种网络模式简介
- Android okHttp网络请求之Get/Post请求
- 什么是multipart/form-data请求
- Selenium怎样定位虎牙直播登录
- 如何从AP层控制到audiopolicy
- Android RecyclerView
- SIFT特征提取分析
- NW网络生成MATLAB代码
- 六、shell注释
- 从平面上最近的点对,谈谈分治算法
- es6 map
- eclipse对接JDK