全屏背景网站如何做到自适应wordpress深度优化主题
全屏背景网站如何做到自适应,wordpress深度优化主题,建设手机网站公司,text-indent:2em wordpress文章目录一、元素等待1.1 应用场景1.2 元素等待-概念1.3 元素等待-类型二、隐式等待2.1 隐式等待-方法和作用2.2 隐式等待-示例三、显式等待3.1 显式等待-方法和作用3.2 显式等待-示例四、隐式等待和显式等待的选择一、元素等待
1.1 应用场景
可能由于一些原因#xff0c;我…文章目录一、元素等待1.1 应用场景1.2 元素等待-概念1.3 元素等待-类型二、隐式等待2.1 隐式等待-方法和作用2.2 隐式等待-示例三、显式等待3.1 显式等待-方法和作用3.2 显式等待-示例四、隐式等待和显式等待的选择一、元素等待1.1 应用场景可能由于一些原因我们想找的元素并没有立刻出来此时如果直接定位可能会报错比如以下原因1、由于网络速度原因2、服务器处理请求原因3、电脑配置原因1.2 元素等待-概念WebDriver定位页面元素时如果未找到会在指定时间内一直等待的过程。1.3 元素等待-类型元素等待一共分为两种类型1、显式等待2、隐式等待二、隐式等待2.1 隐式等待-方法和作用1、关键方法在获取 driver 对象后通过 driver 对象调用 implicitly_wait 方法设置超时时间# 参数timeout超时的时长单位秒implicitly_wait(timeout)2、作用在设置了超时时间之后后续所有的定位元素的方法都会在这个时间内等待元素的出现。如果出现了直接进行后续操作。如果没有出现报错NoSuchElementException。3、应用场景针对所有定位元素的超时时间设置为同一个值的时候。注隐式等待设置了一次之后加入设置了10s等待所有的都是10秒。2.2 隐式等待-示例在 5 秒钟内在《设置》程序中的 ”返回“ 按钮如果找到则点击如果找不到则观察对应错误信息。importtimefromappiumimportwebdriver# 这个python类AppiumBy继承自By类用于定义不同的定位策略常量以便在Appium自动化测试中定位元素fromappium.webdriver.common.appiumbyimportAppiumBy# 导入AppiumBydesired_capsdict()desired_caps[platformName]Androiddesired_caps[platformVersion]5.1desired_caps[deviceName]192.168.56.101:5555desired_caps[appPackage]com.android.settingsdesired_caps[appActivity].Settingsdriverwebdriver.Remote(http://localhost:4723/wd/hub,desired_caps) time.sleep()和 implicitly_wait()的区别 1、time.sleep()是阻塞式等待直到时间结束才继续执行。 2、implicitly_wait()是隐式等待直到找到元素才继续执行如果找不到元素则一直等待直到超时抛出异常 # time.sleep(10)driver.implicitly_wait(10)print(---准备找返回进行点击)# 通过 xpath 定位返回按钮点击driver.find_element(AppiumBy.XPATH,//*[content-desc收起]).click()print(---点完了)time.sleep(5)driver.quit()三、显式等待3.1 显式等待-方法和作用1、关键方法关键类WebDriverWait关键方法WebDriverWait 对象中的 until 的方法# 1、参数 driver驱动对象 timeout超时的时长单位秒 poll_frequency检测间隔时间默认为0.5秒 # 返回值WebDriverWait对象waitWebDriverWait(driver,timeout,poll_frequency0.5)#2、参数methodlambda查找元素表达式# 返回值定位到的元素如果没有定位到会抛出TimeoutException异常wait.until(method)2、作用在设置了显示等待之后可以等待一个超时时间在这个超时时间之内进行查找默认每0.5秒找一次0.5秒的频率是可以设置的一但找到这个元素直接进行后续操作如果没有找到报错TimeOutException3、应用场景针对所有定位元素的超时时间设置为不同的值的时候。注可以针对不同的值设置元素等待。3.2 显式等待-示例在 5 秒钟内每 1 秒在《设置》程序中的 ”返回“ 按钮如果找到则点击。如果找不到则观察对应错误信息。importtimefromappiumimportwebdriverfromselenium.webdriver.support.waitimportWebDriverWait# 这个python类AppiumBy继承自By类用于定义不同的定位策略常量以便在Appium自动化测试中定位元素fromappium.webdriver.common.appiumbyimportAppiumBy# 导入AppiumBydesired_capsdict()desired_caps[platformName]Androiddesired_caps[platformVersion]5.1desired_caps[deviceName]192.168.56.101:5555desired_caps[appPackage]com.android.settingsdesired_caps[appActivity].Settingsdriverwebdriver.Remote(http://localhost:4723/wd/hub,desired_caps)# ------- 显式等待print(---准备找返回进行点击)# 创建WebDriverWait对象,在5秒的时间内每1秒钟找一次# 获取元素并设置超时时间和频率back_buttonWebDriverWait(driver,5,1).until(lambdax:x.find_element(AppiumBy.XPATH,//*[content-desc收起]))# 点击搜索按钮back_button.click()print(---点完了)time.sleep(5)driver.quit()四、隐式等待和显式等待的选择1、从方法的角度上隐式等待更简单隐式等待则直接通过 driver 实例化对象调用。显式等待相对负责显式等待方法封装在 WebDriverWait 类中。2、从灵活性的角度上隐式等待是针对全局的定位元素显示等待更加灵活因为可以针对每一个元素进行单独的设置3、关于sleep的问题sleep不是不能做元素等待而是不推荐因为会造成时间上的浪费元素等待可以让元素出来的第一时间进行操作。4、从选择的角度考虑使用的是单个还是全局考虑灵活性的问题