元素定位
示例
System.setProperty("webdriver.gecko.driver", "");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setHeadless(true);
WebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://www.baidu.com/");
//TODO 進(jìn)行定位
......
// 關(guān)閉瀏覽器
driver.quit()
1、id定位
根據(jù)元素的id屬性來定位元素
//通過id定位
driver.findElement(By.id("kw")).sendKeys("selenium如何定位元素");
2、name定位
根據(jù)元素的name屬性來定位元素,但是注意name的屬性值在當(dāng)前文檔中可以不是唯一的
//通過name定位
driver.findElement(By.name("wd")).sendKeys("selenium如何定位元素");
3、class_name定位
通過class定位
//通過class定位
driver.findElement(By.className("s_ipt")).sendKeys("selenium如何定位元素");
4、tag_name定位
通過tag進(jìn)行定位,tag定位比較模糊,多用于標(biāo)題等特殊標(biāo)簽
driver.findElement(By.tagName("h1"))
5、link_text定位
定位超鏈接文本(文本值)
driver.findElement(By.linkText("hao123"))
6、partial_link_text定位
模糊的link_text定位
driver.findElement(By.partialLinkText("hao"))
7、xpath定位
能夠?qū)崿F(xiàn)路徑定位(絕對(duì)路徑,相對(duì)路徑);
可以利用路徑+元素屬性進(jìn)行定位
driver.findElement(By.xpath("http://input[@id='kw']"))
8、css定位
采用css的方式定位元素
driver.findElement(By.cssSelector("#id名稱"))
常用api(操作標(biāo)簽)
1、元素單擊
.click()
2、表單提交
.submit()
3、在輸入框中輸入指定內(nèi)容
Input.sendkeys();
4、在輸入框中清除所有的文字內(nèi)容
Input.clear();
5、獲得文本值
.getText()文章來源:http://www.zghlxwxcb.cn/news/detail-478708.html
全屏截圖
問題
當(dāng)我們要進(jìn)行全屏截圖時(shí),我們需要滑動(dòng)瀏覽器右邊的滾輪,但是滑動(dòng)太快,便會(huì)造成頁面并沒有加載完畢,最終截出來的圖為頁面加載中的圖。因此需要需要慢慢進(jìn)行滑動(dòng)加載。文章來源地址http://www.zghlxwxcb.cn/news/detail-478708.html
代碼實(shí)現(xiàn)
/**
* 重置窗口大小(調(diào)整至可以正常截圖)
*
* @param driver 驅(qū)動(dòng)對(duì)象
*/
private void resetWindowSizeToScreenshot(WebDriver driver) throws InterruptedException {
JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
//最高高度
int lastHeight = 0;
int k = 1;
while (true) {
// 獲取當(dāng)前高度
Object thisHeightObject = javascriptExecutor.executeScript("return document.body.scrollHeight;");
int thisHeight = Integer.parseInt(String.valueOf(thisHeightObject));
// 判斷滑動(dòng)后的高度lastHeight,與當(dāng)前高度是否發(fā)生變化,如果沒有變化,說明滑動(dòng)到了最底部
if (lastHeight != thisHeight) {
String jsMove = String.format("window.scrollBy(0,%s)", k * 300);
// 向下滑動(dòng)
javascriptExecutor.executeScript(jsMove);
// 滑動(dòng)后賦值
lastHeight = thisHeight;
sleep(1000);
k++;
} else {
// 高度相同,跳出
break;
}
}
sleep(3 * 1000);
driver.manage().window().setSize(new Dimension(1920, lastHeight + 300));
}
到了這里,關(guān)于web自動(dòng)化測(cè)試(java+seleium)元素定位,全屏截圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!