求助我一直报这个错 不是很懂为什么
来源:6-13 重构封装读取配置文件函数

Akien
2020-01-28
import requests
import json
import time
class SeleniumDriver():
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 close_driver(self):
self.driver.close()
def find_element_by_id(self,value):
base_url = self.driver + '/element'
data = json.dumps({
'using':'name',
'value':value
})
res = requests.post(base_url,data).json()['value']['element-6066-11e4-a52e-4f735466cecf']
return res
def get_element(self,by,value):
"""
获取元素element
@parme by 定位方式
@parme value 定位置
@return 返回一个元素
"""
element = None
#self.driver.find_element_by_name("email")
#try:
if by == "id":
element = self.driver.find_element_by_id(value)
elif by == "name":
element = self.driver.find_element_by_name(value)
elif by == "css":
element = self.driver.find_element_by_css(value)
elif by == "class":
element = self.driver.find_element_by_class(value)
elif by == "xpath":
element = self.driver.find_element_by_xpath(value)
#except:
#print("定位by和value有问题")
return element
#运行代码
request_driver.get_url("http://www.imooc.com/user/newlogin")
#request_driver.send_value("name","email",1)
request_driver.get_element("name","email")
request_driver.close_driver()
运行代码报错
AttributeError: ‘str’ object has no attribute ‘find_element_by_name’
写回答
2回答
-
Mushishi
2020-01-31
你需要先确认你driver是不是driver,现在你driver是一个str
00 -
Mushishi
2020-01-31
你diriver没有传递进来
00
相似问题