相关疑难解决方法(0)

Python中的switch语句的替换?

我想在Python中编写一个函数,它根据输入索引的值返回不同的固定值.

在其他语言中,我会使用switchcase声明,但Python似乎没有switch声明.在这种情况下,推荐的Python解决方案是什么?

python switch-statement

1719
推荐指数
32
解决办法
149万
查看次数

什么是多态,它是什么,以及它是如何使用的?

我正在观看Google Tech Talks视频,他们经常提到多态性.

什么是多态,它是什么,以及它是如何使用的?

oop polymorphism computer-science

541
推荐指数
12
解决办法
48万
查看次数

如果在python中需要减少其他

我正在尝试使用selenium-webdriver和python自动进行基本html网站的回归测试。我编写了一个函数,该函数将从excel中获取输入,以确定网页上元素的定位符类型,如下所示:

            if locator_type == "ID":
                web_element = self.__driver.find_element_by_id(element)
            elif locator_type == "NAME":
                web_element = self.__driver.find_element_by_name(element)
            elif locator_type == "XPATH":
                web_element = self.__driver.find_element_by_xpath(element)
            elif locator_type == "TAG_NAME":
                web_element = self.__driver.find_element_by_tag_name(element)
            elif locator_type == "LINK_TEXT":
                web_element = self.__driver.find_element_by_link_text(element)
            elif locator_type == "CLASS_NAME":
                web_element = self.__driver.find_element_by_class_name(element)
            elif locator_type == "PARTIAL_LINK_TEXT":
                web_element = self.__driver.find_element_by_partial_link_text(element)
Run Code Online (Sandbox Code Playgroud)

这样我们就可以指定定位器类型并给出实际的定位器('element'),以便硒可以尝试在网页上找到网络元素。有什么方法可以减少elif语句,或者有其他更好的方法来编写此部分?

if语句过多

我在上面的链接中尝试了该方法,但并没有帮助我。请帮助我解决这个问题。

编辑 我试图创建一个像这样的字典

locator_dict = {
'ID' : driver.find_element_by_id(element),
'NAME' : driver.find_element_by_name(element)}
Run Code Online (Sandbox Code Playgroud)

然后我收到一条错误消息,指出未定义元素

python python-3.x selenium-webdriver

3
推荐指数
1
解决办法
99
查看次数