0
点赞
收藏
分享

微信扫一扫

WebDriver 的协议标准 W3C

_铁马冰河_ 2022-09-16 阅读 101


Selenium WebDriver 快速入门工程:

​​https://github.com/Jason-Chen-2017/go-selenium​​

import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.remote.CapabilityType
import org.openqa.selenium.remote.DesiredCapabilities
import java.lang.Thread.sleep
import java.util.concurrent.TimeUnit

fun main(args: Array<String>) {
val driver = initDriver()

try {
driver.get("https://www.baidu.com/")
driver.findElement(By.id("kw")).click()
driver.findElement(By.id("kw")).sendKeys("Kotlin")
driver.findElement(By.id("su")).click()

sleep(3000)

// 百度搜索 Kotlin,自动翻10页
for (i in 1..10) {
driver.executeScript("scrollTo(0,2000)")
sleep(3000)
val e = driver.findElementByPartialLinkText("""下一页""")
e.click()
}

sleep(7000)
} catch (e: Exception) {
e.printStackTrace()
}

driver.quit()
}

private fun initDriver(): ChromeDriver {
System.setProperty("webdriver.chrome.driver", "chromedriver")// 设置 webdriver 路径到系统环境变量中
val capabilities = DesiredCapabilities.chrome()
// SSL Certificate
capabilities.setCapability(CapabilityType.TAKES_SCREENSHOT, true)
capabilities.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true)

val headless = false
var driver = ChromeDriver(chromeOptions(headless))
val sessionId = driver.sessionId
println("sessionId=${sessionId}")
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS)
return driver
}


fun chromeOptions(headless: Boolean): ChromeOptions {
val options = ChromeOptions()
if (headless) {
options.addArguments("headless")
}
return options
}

WebDriver W3C 标准协议:

​​https://w3c.github.io/webdriver/​​

Method

URI Template

Command

POST

/session

​​New Session​​

DELETE

/session/{session id}

​​Delete Session​​

GET

/status

​​Status​​

GET

/session/{session id}/timeouts

​​Get Timeouts​​

POST

/session/{session id}/timeouts

​​Set Timeouts​​

POST

/session/{session id}/url

​​Navigate To​​

GET

/session/{session id}/url

​​Get Current URL​​

POST

/session/{session id}/back

​​Back​​

POST

/session/{session id}/forward

​​Forward​​

POST

/session/{session id}/refresh

​​Refresh​​

GET

/session/{session id}/title

​​Get Title​​

GET

/session/{session id}/window

​​Get Window Handle​​

DELETE

/session/{session id}/window

​​Close Window​​

POST

/session/{session id}/window

​​Switch To Window​​

GET

/session/{session id}/window/handles

​​Get Window Handles​​

POST

/session/{session id}/frame

​​Switch To Frame​​

POST

/session/{session id}/frame/parent

​​Switch To Parent Frame​​

GET

/session/{session id}/window/rect

​​Get Window Rect​​

POST

/session/{session id}/window/rect

​​Set Window Rect​​

POST

/session/{session id}/window/maximize

​​Maximize Window​​

POST

/session/{session id}/window/minimize

​​Minimize Window​​

POST

/session/{session id}/window/fullscreen

​​Fullscreen Window​​

GET

/session/{session id}/element/active

​​Get Active Element​​

POST

/session/{session id}/element

​​Find Element​​

POST

/session/{session id}/elements

​​Find Elements​​

POST

/session/{session id}/element/{element id}/element

​​Find Element From Element​​

POST

/session/{session id}/element/{element id}/elements

​​Find Elements From Element​​

GET

/session/{session id}/element/{element id}/selected

​​Is Element Selected​​

GET

/session/{session id}/element/{element id}/attribute/{name}

​​Get Element Attribute​​

GET

/session/{session id}/element/{element id}/property/{name}

​​Get Element Property​​

GET

/session/{session id}/element/{element id}/css/{property name}

​​Get Element CSS Value​​

GET

/session/{session id}/element/{element id}/text

​​Get Element Text​​

GET

/session/{session id}/element/{element id}/name

​​Get Element Tag Name​​

GET

/session/{session id}/element/{element id}/rect

​​Get Element Rect​​

GET

/session/{session id}/element/{element id}/enabled

​​Is Element Enabled​​

POST

/session/{session id}/element/{element id}/click

​​Element Click​​

POST

/session/{session id}/element/{element id}/clear

​​Element Clear​​

POST

/session/{session id}/element/{element id}/value

​​Element Send Keys​​

GET

/session/{session id}/source

​​Get Page Source​​

POST

/session/{session id}/execute/sync

​​Execute Script​​

POST

/session/{session id}/execute/async

​​Execute Async Script​​

GET

/session/{session id}/cookie

​​Get All Cookies​​

GET

/session/{session id}/cookie/{name}

​​Get Named Cookie​​

POST

/session/{session id}/cookie

​​Add Cookie​​

DELETE

/session/{session id}/cookie/{name}

​​Delete Cookie​​

DELETE

/session/{session id}/cookie

​​Delete All Cookies​​

POST

/session/{session id}/actions

​​Perform Actions​​

DELETE

/session/{session id}/actions

​​Release Actions​​

POST

/session/{session id}/alert/dismiss

​​Dismiss Alert​​

POST

/session/{session id}/alert/accept

​​Accept Alert​​

GET

/session/{session id}/alert/text

​​Get Alert Text​​

POST

/session/{session id}/alert/text

​​Send Alert Text​​

GET

/session/{session id}/screenshot

​​Take Screenshot​​

GET

/session/{session id}/element/{element id}/screenshot

​​Take Element Screenshot​​

举报

相关推荐

0 条评论