selenium webdriver Java:改进;如有其他",;演出
我正在努力实现以下目标:selenium webdriver Java:改进;如有其他",;演出,java,webdriver,selenium-webdriver,Java,Webdriver,Selenium Webdriver,我正在努力实现以下目标: 如果存在特定元素,请单击它并返回主页 否则,只需返回主页,测试将继续进行而不会失败 我已经想出了下面的代码,但它真的很慢。我不确定有没有更好的方法来实现这一点?任何意见将不胜感激 boolean exists = driver.findElements( By.id("xxx")).size() != 0; if (exists) { driver.findElement(By.id("xxx")).click(); driver.find
- 如果存在特定元素,请单击它并返回主页李>
- 否则,只需返回主页,测试将继续进行而不会失败
boolean exists = driver.findElements( By.id("xxx")).size() != 0;
if (exists)
{
driver.findElement(By.id("xxx")).click();
driver.findElement(By.cssSelector("xxx")).click();
}
else
{
driver.findElement(By.cssSelector("xxx")).click();
}
你用什么做CSS选择器?您可以通过调整这些参数来提高性能。另一个会减慢速度的事情是当页面有太多内容时 查看CSS选择器和正在扫描哪些DOM元素的示例会很有帮助 例如,如果您的页面充满1000个DIV元素,则类如下:
<div class="smallItem">...</div>
<div class="largeItem">...</div>
<div class="smallItem">...</div>
".smallItem"
要选择所有DIV元素,它必须扫描每个DOM元素并计算class属性。CSS选择器使用什么?您可以通过调整这些参数来提高性能。另一个会减慢速度的事情是当页面有太多内容时 查看CSS选择器和正在扫描哪些DOM元素的示例会很有帮助 例如,如果您的页面充满1000个DIV元素,则类如下:
<div class="smallItem">...</div>
<div class="largeItem">...</div>
<div class="smallItem">...</div>
".smallItem"
要选择所有的DIV元素,它必须扫描每个DOM元素并在class属性上进行计算。我找到了降低性能的原因。这是一条线:
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
由于该语句,它将等待元素验证30秒
将其更改为:
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
。。现在它就像一个符咒一样工作…:)我找到了降低性能的原因。这是一条线:
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
由于该语句,它将等待元素验证30秒
将其更改为:
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
。。现在,它就像一个符咒……:)