Python如何避免许多if语句

2024-10-02 12:37:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我会尽量简化我的问题。我正在用py.测试还有苹果。现在:

在应用程序中,我有4种媒体格式:视频、音频、图像和文档。 我有一个带有上一个、下一个、播放、停止按钮的控制界面。 每种媒体格式都有一个唯一的ID

视频播放按钮、音频播放按钮、文档播放按钮、图像播放按钮、视频停止按钮、音频停止按钮等

但我要做的操作对他们都是一样的,比如按播放按钮。在

当我像这样显式地给出它们时,我可以处理它们的playbutton

find_element_by_id("video_playbutton")

当我想按其他播放按钮时,我每次都要重复上面的内容。像这样:

^{pr2}$

因为我是从另一个脚本调用这个函数,所以我必须首先区分我得到的字符串,例如:

^{3}$

解决这种情况的最好办法是什么?我想避免数百个if语句,因为还有stop、next、previous等按钮。在

我想找这样的东西

def play(mediatype)
    find_element_by_id(mediatype.playbutton)

Tags: 文档py图像id视频byelementfind
1条回答
网友
1楼 · 发布于 2024-10-02 12:37:51

您可以在两个字典中分离出选择器和操作,这两个词典的扩展性更好。否则地图最终会变得巨大。这是一个例子。在

dictMedia = {'video':['video_playbutton', 'video_stopbutton','video_nextbutton'], 'audio':['audio_playbutton', 'audio_stopbutton', 'audio_nextbutton']}
dictOperations = {'play':0, 'stop':1, 'next':2}
def get_selector(mediatype, operation):
    return dictMedia[mediatype][dictOperations[operation]]

print get_selector('video', 'play')

PS:以上操作不检查未找到密钥错误。 但是,我仍然觉得,如果特定于媒体的操作增长,那么页面对象模型会更好。在

相关问题 更多 >

    热门问题