python selenium 自动化测试中 报错: Element could not be scrolled into view

python selenium 自动化测试中 报错: Element could not be scrolled into view

折腾了许久,出错原因可能以下几种情况,记录一下

1.可能元素还未加载出,手动time.sleep(3)几秒或者设置隐式等待

WebDriverWait wait = new WebDriverWait(driver, 5);
WebElement element = driver.findElement(By.XPATH(xpath));
wait.until(ExpectedConditions.elementToBeClickable(element));
element.click();

或显示等待

driver.implicitly_wait(10)

让元素完全加载

2.某些情况下元素的visibility为hidden或者display属性为none,页面上不可见但是实际上存在的元素(可以用ele.is_displayed()来取得是否显示)

3.元素是否不在同一个iframe里,需要切换到元素所在的iframe中才能定位到 ,  driver.switch_to.frame('iframeid')

4.是否需要用js的方法来scroll滚动到元素位置()  js.executeScript("arguments[0].scrollIntoView(true);", element);

5.控制台中试试用同样的xpath获取的元素是不是想要定位的元素,我这里就是由于xpath的原因定位到了2个元素,一个是我想要定位的,还有一个隐藏的元素,所以导致报错,换了xpath

转载请说明出处:第六感博客 原文链接:

标签: python

相关阅读:

python pip设置阿里云国内镜像加速

python学习资料

python错误TypeError: unsupported operand type(s) for +: 'int' and 'str'

python在PyCharm软件中显示光标是一条竖条 insert键盘 输入不了任何字符