当元素不在Visible屏幕中时,Selenium会抛出No Element found异常。仅当我使用Autoit或手动向下滚动页面时,它才有效。
即使目前我使用AutoIt向下滚动页面并找到元素,但我不这么认为,它适用于所有类型的分辨率屏幕。
Selenium版本:2.41.0 Chrome版本:47.0.2526.80
注意:我的应用仅适用于Chrome浏览器
请建议。
答案 0 :(得分:1)
试试这个:
INFO web[org.sonar.INFO] Security realm: Crowd
INFO web[c.a.c.s.c.ClientPropertiesImpl] Loading property: 'application.name' : 'sonar'
INFO web[c.a.c.s.c.ClientPropertiesImpl] Failed to find value for property: application.login.url
INFO web[c.a.c.s.c.ClientPropertiesImpl] Loading property: 'session.tokenkey' : 'session.tokenkey'
INFO web[c.a.c.s.c.ClientPropertiesImpl] Loading property:
'session.lastvalidation' : 'session.lastvalidation'
INFO web[c.a.c.s.c.ClientPropertiesImpl] Loading property: 'session.validationinterval' : '1'
INFO web[c.a.c.s.c.ClientPropertiesImpl] Failed to find value for property: cookie.domain
INFO web[o.s.p.c.CrowdRealm] Crowd configuration is valid, connection test successful.
INFO web[org.sonar.INFO] Security realm started
答案 1 :(得分:0)
请参阅,因为Selenium Webdriver
尝试模拟真实用户,所以它无法与不可见/隐藏的元素进行交互。首先,您可以使用Actions
移动到元素,然后只需检查元素的可见性,如下所示:
WebElement element = driver.findElement(By by);
Actions action = new Action(driver);
action.moveToElement(element).perform();
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOf(element)).WhateverActionYouWantToDoOnWebElement;
然后你可以执行你想要执行的任何动作。
答案 2 :(得分:0)