老师,sessionId 为None,没有获取到
来源:5-11 开发一个定位方法

慕粉1212355798
2021-04-09
import requests
import json
class requests_webdriver:
def init(self):
self.driver = self.chrome_driver()
def chrome_driver(self):
url = 'http://127.0.0.1:4444/wd/hub/session/'
data = json.dumps({
‘desiredCapabilities’:{
‘browserName’:‘chrome’
}
})
res = requests.post(url,data).json()
session = res[‘sessionId’]
driver = url+session
return driver
def get_url(self,url):
base_url = self.driver+'/url'
data = json.dumps({
"url":url
})
requests.post(base_url,data)
def find_element_by_id(self,value):
base_url = self.driver + '/element'
#json.dumps()将字典转换为字符串
data = json.dumps({
"using": 'id',
"value":value
})
res = requests.post(base_url,data).json()
print(res)
if name == ‘main’:
request_driver = requests_webdriver()
request_driver.get_url(‘https://www.imooc.com/user/newlogin/from_url/’)
request_driver.find_element_by_id(‘email’)
代码里 chrome_driver这个方法有sessionId,但下面没有调用这个方法,调用的是find_element_by_id方法,所以sessionId是怎么来的呢,而且始终不太明白为什么要有这个代码 url = ‘http://127.0.0.1:4444/wd/hub/session/’,执行这个selenium-server-standalone-3.9.1.jar,才能运行
2回答
-
慕粉1212355798
提问者
2021-05-16
控制台:
D:\练习python\seleniumpythonbase\venv\Scripts\python.exe D:/练习python/seleniumpythonbase/ThreeNode/requests_open_browser.py
1aeb8246e514fab5842e408df9501b28
{'state': 'success', 'sessionId': None, 'hCode': 1071117855, 'value': {'element-6066-11e4-a52e-4f735466cecf': 'a288e26f-b2ac-435c-a202-758f72444fc7'}, 'class': 'org.openqa.selenium.remote.Response', 'status': 0}
Process finished with exit code 0
老师,id换为了name,'sessionId': None 还是为空,element取到的字符串 'a288e26f-b2ac-435c-a202-758f72444fc7',sessionId为空是不是还是不对啊
042021-07-01 -
Mushishi
2021-04-10
你session id只是上面创建的时候那个啊。一直用的都是那个id 没有变。你下面findelement 提示的是没有找到这个元素 和id没毛线关系
022021-04-11
相似问题