selenium二次封装
时间: 2023-08-27 22:06:19 浏览: 89
Selenium的二次封装是指将常用的动作和方法封装到一个类中,以便于在自动化测试中多次调用。常见的二次封装包括将显示等待操作封装到元素定位中。
在二次封装中,我们可以使用显示等待来等待元素的出现,以避免在元素没有加载出来时出现定位错误。封装时,我们可以设置总等待时间和等待间隔,并使用WebDriverWait类的until方法来等待元素的可见性。如果超过指定的等待时间仍然无法定位到元素,可以选择抛出异常或跳过定位错误。
以下是一个示例的封装代码:
```
def ElementLocalization(method, locator, Sign=True):
try:
return AccordingWait(method, locator)
except Exception as e:
if Sign:
raise e
else:
return False
def AccordingWait(method, locator, total=3, interval=1):
Ele = WebDriverWait(driver, total, interval).until(
ec.visibility_of_all_elements_located((method, locator))
)
return Ele
```
在这个示例中,ElementLocalization函数封装了元素定位操作,其中使用了AccordingWait函数来实现显示等待。根据传入的定位方式和路径参数,ElementLocalization函数将使用显示等待来等待元素的可见性,并返回定位到的元素。如果定位失败,并且Sign参数为True,则会抛出异常;否则,将返回False。
使用二次封装后,我们可以直接调用ElementLocalization函数来定位元素,并在定位失败时选择如何处理错误。
请注意,这个示例中的代码只是一种封装方式,实际的封装方式可以根据需求进行调整和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Selenium基本二次封装](https://blog.csdn.net/weixin_43937682/article/details/122517450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文