selenium interview questions

本文列举了Selenium面试中常见的问题,包括判断元素是否存在、定位隐藏元素、提高脚本执行速度和稳定性、等待类型对比、选择器偏好以及自动化测试的挑战等。通过示例代码展示了Selenium的各种使用技巧和注意事项。
摘要由CSDN通过智能技术生成

1.如何判断元素不存在

  • 目的:如果定位不到元素,先判断元素是否存在,如果不存在在定位不存在的原因
  • slenium本身没有原生方法,需要用元素定位方法+try异常捕获
  • 注意导入函数from selenium.common.exceptions import NoSuchElementException
  • 代码如下:这个元素是在一个浮层上,故肯定找不到
try:
	self.driver.find_element_by_xpath("//a[@class='item item-zhui']//span[@class='ico']")
	print("element exist")
except NoSuchElementException:
	print("element doesn't exist")

2.selenium中hidden或者是display = none的元素是否可以定位到?

  • 直接定位不可行,因为元素在页面不展示,肯定找不到
  • 通过执行js代码,使得display=block,即可定位到
  • 代码如下:
js = "document.getElementById(\"newResult\").style.display='block';"
self.driver.execute_script(js)

3.selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

  • 元素不能被其他浮层之类的遮挡
  • 元素在viewport内可见,否则需要通过滚动拉大窗口等操作让它可见
  • 判断元素是否是可点击状态element.is_enabled()
import unittest
from selenium import webdriver
import time
from selenium.common.exceptions import *

try:
    self.driver.find_element_by_xpath("//a[@class='item item-zhui']//span[@class='ico']").is_enabled()
except NoSuchElementException:
    print("element doesn't enabled")

4.如何提高selenium脚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值