我写了3段代码,运行最后一段return了None,应该是return self.driver.find_element_by_id(value)

来源:2-21 设计封装定位元素类

慕婉清5418690

2018-11-24

coding=utf-8

from util.read_ini import ReadIni
class FindElement(object):
def init(self,driver):
self.driver = driver

def get_element(self,key):
    read_ini=ReadIni()
    data = read_ini.get_value(key)
    by = data.split('>')[0]
    value = data.split('>')[1]
    try:
        if by == 'id':
            return self.driver.find_element_by_id(value)
        elif by =='name':
            return self.driver.find_element_by_name(value)
        elif by == 'xpath':
            return self.driver.find_element_by_xpath(value)
        elif by =='className':
            return self.driver.find_element_by_class_name(value)
        else:
            return self.driver.find_elements_by_tag_name(value)
    except:
        return None

if name == ‘main’:
element = FindElement(‘driver’)
print(element.get_element(‘password’))

我debug了一下,by的值是‘id’,但是这样就报错了,报错截图如下:图片描述

写回答

1回答

慕婉清5418690

提问者

2018-11-24

我觉得我这个driver传的不对,应该这么传,driver = webdriver.Chrome(),我觉得我这个driver传的不对,应该这么传,driver = webdriver.Chrome(),我理解的对不对啊

0
1
Mushishi
if name == ‘main’: element = FindElement(‘driver’) print(element.get_element(‘password’)) 哈哈 你知道啊。你看你driver传递得啥。str!
2018-11-24
共1条回复

Selenium3与Python3实战Web自动化测试框架

打破无项目经验、无框架经验瓶颈,实战Web自动化测试框架!

1883 学习 · 1093 问题

查看课程