我是新来的selenium网络驱动程序(java编码)。我有一个网站,并要求编写脚本来检查所有页面是否正常加载。我不知道如何检查页面加载。我的一个朋友建议,当页面加载时,我应该寻找加载的最后一个元素,并对该元素使用等待方法来检查,直到它可见。
我的问题是我有50多页要检查。对于每个页面,我应该使用等待方法并检查可见性,因为它需要很多时间。还有其他方法吗?
您可以按照以下步骤解决问题(对于所有50页,一次一个):
visibility_of_element_located
,以检查元素是否显示在网页上。等待元素的可见性:
element = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.ID, "myDynamicElement")) # here, you can use any available locator of your choice, like, By.XPATH, BY.CLASS_NAME etc.
这会在抛出TimeoutException之前等待长达10秒,或者如果它发现显示了该元素,将在0-10秒内返回它。WebDriverWait默认每500毫秒调用一次OutectedConease,直到它成功返回。成功的返回是对于期望条件类型是布尔返回true或不是所有其他期望条件类型的null返回值。
所以,你实际上并不是在等待10秒
来检查元素是否显示。一旦元素显示在页面上,该方法将在10秒
内立即返回。
注意:10秒
是可配置的。
您需要查看视觉测试方向,而纯硒不是为此设计的。
您可以尝试Selenium的两个插件:
1)Applitools(https://applitools.com/),基于云,您可以免费试用,示例在这里https://eyes.applitools.com/app/Web/Deploy/Tutorial/tutorial.html
2)或者你可以使用Sikuli(http://www.sikuli.org/),免费,非云。