Python 代码优化:使用列表推导式简化元素点击操作
使用列表推导式简化元素点击操作
在使用 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()
优化后的代码使用了以下技巧:
- 列表推导式: 使用列表推导式
[word in ele_name for word in target_words]来检查ele_name中是否存在目标词汇。 any()函数: 使用any()函数来判断列表推导式返回的列表中是否存在 True 值,即是否存在任何一个目标词汇出现在ele_name中。- 变量提取: 将重复的操作
(0, 34)提取到offset变量中,以便在需要时进行修改。
通过以上优化,代码更加简洁易懂,可读性更高。同时,将重复的操作提取到变量中,也提高了代码的可维护性。
原文地址: https://www.cveoy.top/t/topic/plaq 著作权归作者所有。请勿转载和采集!