官方文档称为:找到的元素的WebElement JSON对象,表示页面上的DOM元素,同时服务器分配给ELEMENT的值是不透明的(随机的) 这个ELEMENT的值会在针对该元素发出的所有后续命令中使用。
4.1 构造请求
请求方式 :POST 请求地址 ::9515/session/:sessionId/element/:id/click 注意: 上述地址中的 ":sessionId" 要用启动浏览器的请求返回结果中的sessionId的值 :id 要用元素定位请求后返回ELEMENT的值 例如:我刚刚发送请求,启动浏览器,返回结果中"sessionId": "b2801b5dc58b15e76d0d3295b04d295c" 元素定位,返回ELEMENT的值"0.11402119390850629-1" 然后我构造 点击页面元素的请求地址 请求地址::9515/session/b2801b5dc58b15e76d0d3295b04d295c/element/0.11402119390850629-1/click 请求body :{"id": "0.11402119390850629-1", "sessionId": "b2801b5dc58b15e76d0d3295b04d295c"}4.2 使用python requests 向 ChromeDriver发送请求
#encoding:utf8 import requests url = 'http://localhost:9515/session/b2801b5dc58b15e76d0d3295b04d295c/element/0.11402119390850629-1/click' pars ={"id": "0.5930642995574296-1", "sessionId": "b2801b5dc58b15e76d0d3295b04d295c"} r = requests.post(url,json=pars) print(r.json())4.3 查看请求返回的结果
{'sessionId': 'b2801b5dc58b15e76d0d3295b04d295c', 'status': 0, 'value': None}对于每个Selenium命令,都会创建一个HTTP请求并将其发送到浏览器驱动程序
每一个命令的执行结果都会返回给自动化代码
响应状态代码 status 等于0 ,即表示命令执行成功
ChromeDirver创建session时打开了浏览器
Selenium代码和浏览器驱动的交互都根据ChromeDriver创建的sessionId
乙醇 - selenium是如何启动浏览器的