selenium中如何判断元素是否存在?
selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素+异常捕获的方式判断。
# 判断元素是否存在
try:
dr.find_element_by_id('none')
except NoSuchElementException:
print 'element does not exist'
selenium中hidden或者是display = none的元素是否可以定位到?
不可以,selenium不能定位不可见的元素。display=none的元素实际上是不可见元素。
selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
-
当网速不好的情况下,使用合适的等待时间
-
被点击的元素一定要占一定的空间,因为selenium默认会去点这个元素的中心点,不占空间的元素算不出来中心点;
-
被点击的元素不能被其他元素遮挡;
-
被点击的元素不能在viewport之外,也就是说如果元素必须是可见的或者通过滚动条操作使得元素可见;
-
判断元素是否是可以被点击的
如何提高selenium脚本的执行速度?
-
使用更高配置的电脑和选择更快的网络环境
-
使用效率更高的语言,比如java执行速度就快过python
-
优化代码
-
不要盲目的加sleepÿ