二、Selenium组成 三、Selenium特点 四、案例演示 4.1 java爬虫入门 4.2 相关API 以上就是今天的分享!!!...(By.className("s_ipt")); 2)ID选择: driver.findElement(By.id("kw")); 3)name选择: driver.findElement...("//*[@id=\"kw\"]")); 2.获取单个元素:driver.findElement 3.获取多个元素:driver.findElements 4.输入内容:input.sendKeys...System.out.println(element.getAttribute("value")); // // 2)ID选择: driver.findElement(By.id("kw...(By.id("kw")).sendKeys("java"); // driver.findElement(By.id("su")).click(); // } } } 以上就是今天的分享
但我们选择了java语言,因为我相信大部分公司java程序员比python程序员多得多。而对于很多测试人员,并不能熟练使用编程语言,所以他们需要别人指导。...与其使用更简单的python语言,却看不懂语法,得不到别人帮助;那还不如使用java语言,无论是语法还是编程思路,都可以快速获得java开发人员的帮助。...;"> 可以看到有各种语言 C#、Java、katalon、python2等。...要少一点,但是本文讲java语言实践。...;"> 输入cmd命令 C:\Users\Administrator>cd C:\selenium C:\selenium>java -jar selenium2
但我们选择了java语言,因为我相信大部分公司java程序员比python程序员多得多。而对于很多测试人员,并不能熟练使用编程语言,所以他们需要别人指导。...与其使用更简单的python语言,却看不懂语法,得不到别人帮助;那还不如使用java语言,无论是语法还是编程思路,都可以快速获得java开发人员的帮助。 ...可以看到有各种语言 C#、Java、katalon、python2等。...要少一点,但是本文讲java语言实践。 ...输入cmd命令 C:\Users\Administrator>cd C:\selenium C:\selenium>java -jar selenium2.jar 即可自动化运行,非windows
4.1 java爬虫入门 1.下载驱动包 http://chromedriver.storage.googleapis.com/index.html 2.创建项目并导入依赖 <...(By.className("s_ipt")); 2)ID选择: driver.findElement(By.id("kw")); 3)name选择: driver.findElement...("//*[@id=\"kw\"]")); 2.获取单个元素:driver.findElement 3.获取多个元素:driver.findElements 4.输入内容...// System.out.println(element.getAttribute("value")); // 2)ID选择: driver.findElement(...("kw")).sendKeys("java"); driver.findElement(By.id("su")).click(); } } 五:Selenium爬取JD商品信息
撤销usb调试授权,重新打开开发者模式 ],没问题的话可以看到类似下面这种信息 C:\Users\suneee>adb devices List of devices attached d2ddc2a4...("platformVersion", "6.0"); capabilities.setCapability("appPackage", "com.android.calculator2"...(By.name("1")).click(); driver.findElement(By.name("5")).click(); driver.findElement(...By.name("9")).click(); driver.findElement(By.name("删除")).click(); driver.findElement(...By.name("+")).click(); driver.findElement(By.name("6")).click(); driver.findElement(By.name
版本 driver.findElement(By.xpath( "//*[contains(@text, \"注册\")]")); driver.findElement(By.xpath...(@resource-id, \"login_phone\")]")); XPath 组合定位技巧 通过 XPath 可以同时匹配 2 个甚至多个属性来完成元素定位。.../li' ).tag_name JAVA 版本 // 通过子元素定位父元素 // 方法一:.. driver.findElement(By.xpath( "//*[@text=\"手机号...如果不进行设置,默认也是使用 UiAutomator2 工作引擎。...appium-uiautomator2-driver 会将 css selector 定位器转化成 android uiautomator 定位方式。
web 控件定位id 定位Python 实现driver.find_element(By.ID,'query')Java 实现driver.findElement(By.id("query"));name...定位Python 实现driver.find_element(By.NAME,'query')Java 实现driver.findElement(By.name("query"));通常来说 name...Python 实现driver.find_element(By.XPATH,"//form[@id='sf']//input[@id='query']")Java 实现driver.findElement...Python 实现driver.driver.find_element(By.CSS_SELECTOR,'.logo-big')Java 实现driver.findElement(By.cssSelector...Python 实现driver.find_element(By.PARTIAL_LINK_TEXT, '测试人社区')Java 实现driver.findElement(By.partialLinkText
2.为什么要切换窗口? Selenium在当前页面打开了新的窗口,此时就需要跳转到新的窗口去,就需要把窗口进行切换。...; import java.util.Set; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import...,在页面2文本框输入数据 Thread.sleep(2000); driver.findElement(By.xpath("//div/a[text()=...:"+handle); //获取到页面2的句柄,将driver作用域切到页面2 driver.switchTo().window(handle);...6.2.1代码设计 6.2.2参考代码 /** * */ package lessons; import java.util.ArrayList; import java.util.Set;
实战演示 Selenium 自带 id 定位,可以通过元素的 id 属性进行定位,比如下面的代码: Python 版本 driver.find_element_by_id('kw') Java 版本 driver.findElement...版本 driver.findElement(By.cssSelector(".logo-big")); 下表列出了常用的 css_selector 表达式的用法: [0cd1998edcd21204df034d878e54637f5a388bd2...selector 表达式')即可: [142d71711a77e58eb882b96b977b29df4da36fa6.png] 元素中会出现文字,比如下面的分类,可以利用这段文字进行定位: [aa2eb6ef2c68a1c8f30fef69e0bf568257ee3644....png] Python 版本 driver.find_element_by_link_text('欢迎光临霍格沃兹测试学院') Java 版本 driver.findElement(By.linkText...(By.id("kw")).sendKeys("霍格沃兹测试学院"); driver.findElement(By.id("su")).click(); driver.findElement
2.isDisplayed()源码 /** * Is this element displayed or not?...4.1测试用例(思路) 1.访问度娘首页 2.定位首页的登录按钮,然后点击 3.弹出登录框定位短信登录按钮,然后点击 4.定位手机号输入框,然后输入手机号 5.定位登录框的登录按钮,然后点击 6.定位出现的...: 2.运行代码后电脑端的浏览器的动作,如下小视频所示: 5.方法二 第二个方法,就是先得到这个字符串用String变量保存下来,然后对两个字符串进行比较。...: 2.运行代码后电脑端的浏览器的动作,如下小视频所示: 6.小结 1.isDisplayed()本身这个函数用于判断某个元素是否存在页面上(这里的存在不是肉眼看到的存在,而是html代码的存在。...2.使用equals()和==,区别在于equals比较的是内容是否相等、==比较的是引用的变量地址是否相等。
webdriver有个好东西是htmlunit,这个在python版的webdriver里却没有,应该跟htmlunit纯用java写的有关。...python里面虽然没有htmlnuit,但是有个第三方库是Jpype,可以通过模拟java虚拟机直接调用jar包!...因此我的想法是用java写个接口把htmlunit常用方法再封装下,然后用python通过jpype来调用接口。...; SelectDateByName("alertStrDate", name1); SetInputTextByName("alertStrTime", name2);...我是把java所有htmlunit的jar包都拖到E:\lib下面,并且把导出的jar包也放到E:\lib下面,要不然jpype会找不到的。
package soucrce; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent...; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; import...java.util.Set; import java.util.concurrent.TimeUnit; import org.apache.commons.io.FileUtils; import...);//应用程序设置不询问 profile.setPreference("browser.download.folderList", 0);//设置下载地址0是桌面;1是“我的下载”;2是自定义...String text) { driver.findElement(By.id(id1)).clear(); driver.findElement(By.id(id2)
2.拖拽操作 鼠标拖拽操作,顾名思义就是:就是鼠标按住将一个元素拖拽到另一个元素上。...isDisplayed() == true); } } 2.5运行代码 1.运行代码,右键Run AS->java Application,控制台输出,如下图所示: 2.运行代码后电脑端的浏览器的动作...这个类中有2个方法和滑块移动过程相关。 click_and_hold():模拟按住鼠标左键在源元素上,点击并且不释放 release():松开鼠标按键 字面意思就可以理解这2个函数的作用。...Application,控制台输出,如下图所示: 2.运行代码后电脑端的浏览器的动作,如下小视频所示: 3.5项目实战2 这里宏哥用携程旅行,手机号查单页面的一个滑动,进行项目实战。...-570, 100).perform();时,此时拖动完之后,那么绝对此时的x或者y或者w或者h一定是唯一值,那么我们抓住这个要点就可以定位了 2.定位参考: WebElement A=driver.findElement
我回想起学习Java时的学习路线,直接操作数据库是其中一项重要内容,无论使用哪种编程语言,与数据库的交互都是不可避免的。然而,直接操作MySQL数据库似乎缺乏趣味性,毕竟每天都在写SQL语句。...总的来说,相比Java,Python的SDK使用起来更加舒适。如果你曾经使用过Java SDK与平台接口对接,就会发现Python SDK上手更快。jaba
,同时又是标签下的第9个子标签 在xpath定位中这样写的: driver.findElement(By.cssSelector("//*[@id='form']/span[2]...CSS表达式: (1)form#form>span:nth-child(8)>input java定位语句: (1)WebElement SearchBox = driver.findElement(By.cssSelector...; driver.quit(); } } 3.2.3运行代码 1.运行代码,右键Run AS->java Application,控制台输出,如下图所示: 2.运行代码后电脑端的浏览器的动作...CSS表达式: (1)span.soutu-btn+input (2)input#su java定位语句: (1)WebElement SearchBox = driver.findElement(By.cssSelector...CSS表达式: (1)span.soutu-btn, input (2)span#s_btn_wr, input#su java定位语句: (1)WebElement SearchBox = driver.findElement
div div div form span input[value='百度一下'] java定位语句: (1)WebElement searchBox = driver.findElement(By.cssSelector...( "html>body>div>div>div>div>div>form>span>input" )); (2)WebElement SearchButton = driver.findElement...CSS表达式: (1)*[id="kw"] (2)*[id="su"] java定位语句: (1)WebElement SearchBox = driver.findElement(By.cssSelector...( "*[id='kw']" )); (2)WebElement SearchButton = driver.findElement(By.cssSelector("*[id='su']")); 4.3.1...CSS表达式: (1)input.s_ipt (2)input.btn java定位语句: (1)WebElement SearchBox = driver.findElement(By.cssSelector
testSuites包下新建一个测试类:TestWithPOM1 2.2参考代码 1.BaiduHomePage1 package pageObjects; import java.util.concurrent.TimeUnit...import org.openqa.selenium.WebDriver; /** * @author 北京-宏哥 * * @公众号:北京宏哥 * * 《手把手教你》系列基础篇(八十八)-java...driver.findElement(inputBox_password).sendKeys(pass); driver.findElement(login_submitBtn).click...import pageObjects.BaiduHomePage1; /** * @author 北京-宏哥 * * @公众号:北京宏哥 * * 《手把手教你》系列基础篇(八十八)-java...运行代码后电脑端的浏览器的动作,如下小视频所示: https://gorilla.cdnja.co/v/g2/G2n3B.mp4?
, \"login_phone\")]"));XPath 组合定位技巧通过 XPath 可以同时匹配 2 个甚至多个属性来完成元素定位。...如果不进行设置,默认也是使用 UiAutomator2 工作引擎。...下面就单独介绍基于 uiautomator 定位元素的方法,基本语法如下:Python 版本driver.find_element_by_android_uiautomator()Java 版本driver.findElement...appium-uiautomator2-driver 会将 css selector 定位器转化成 android uiautomator 定位方式。...详情参考官方:https://github.com/appium/appium-uiautomator2-driver/pull/410源码地址:https://github.com/appium/appium-uiautomator2
XPath表达式: (1)//input[starts-with(@name,'wd')] (2)//input[starts-with(@value,'百度一下')] java定位语句: (1)WebElement...searchBox = driver.findElement(By.xpath( "//input[starts-with(@name,'wd')]" )); (2)WebElement SearchButton...XPath表达式: (1)//input[contains(@name,'wd')] (2)//input[contains(@value,'百度一下')] java定位语句: (1)WebElement...searchBox = driver.findElement(By.xpath( "//input[contains(@name,'wd')]" )); (2)WebElement SearchButton...XPath表达式: (1)//a/div[text()='百度热搜'] //或者 (2)//a/div[contains(text(),'百度热搜')] java定位语句: (1)WebElement
Source ) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java...:187)at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:122) at...(DriverCommandExecutor.java:83)at org.openqa.selenium.remote.RemoteWebDriver.execute ( RemoteWebDriver.java...import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...WebDriver>(driver) .withTimeout(60, SECONDS) // 自定义等待的总时间 .pollingEvery(2,
领取专属 10元无门槛券
手把手带您无忧上云