使用列表推导式简化元素点击操作

在使用 Selenium 自动化测试时,我们经常需要根据元素的名称判断是否需要进行特殊操作,例如点击特定位置。以下代码展示了如何使用列表推导式和 any() 函数来简化这种操作。

原始代码:

if '终' in ele_name or '停' in ele_name or '止' in ele_name or '完' in ele_name or '结' in ele_name:
    ActionChains(driver).move_to_element_with_offset(ele, 0, 34).click().perform()
else:
    ele.click()

优化后的代码:

target_words = ['终', '停', '止', '完', '结']
offset = (0, 34)

for ele in elements:
    if any(word in ele_name for word in target_words):
        ActionChains(driver).move_to_element_with_offset(ele, *offset).click().perform()
    else:
        ele.click()

优化后的代码使用了以下技巧:

  1. 列表推导式: 使用列表推导式 [word in ele_name for word in target_words] 来检查 ele_name 中是否存在目标词汇。
  2. any() 函数: 使用 any() 函数来判断列表推导式返回的列表中是否存在 True 值,即是否存在任何一个目标词汇出现在 ele_name 中。
  3. 变量提取: 将重复的操作 (0, 34) 提取到 offset 变量中,以便在需要时进行修改。

通过以上优化,代码更加简洁易懂,可读性更高。同时,将重复的操作提取到变量中,也提高了代码的可维护性。

Python 代码优化:使用列表推导式简化元素点击操作

原文地址: https://www.cveoy.top/t/topic/plaq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录