【问题标题】:how to fix "could not be scrolled into view" error in Selenium Python如何修复 Selenium Python 中的“无法滚动到视图中”错误
【发布时间】:2019-08-15 07:24:35
【问题描述】:

我正在通过 JavaScript 将一个元素滚动到视图中,但是当尝试单击该元素时,会引发一个异常,表示该元素无法滚动到视图中,但是当我查看浏览器时,它已滚动到视图中.我什至尝试过等待该项目可点击,但仍然抛出相同的错误。

如果有人可以在 python 中提供任何解决方案,我将不胜感激,但 java 没问题。谢谢。 :)

这是我的代码:

for i in range(len(units)):
    matchCnt += '0'
    for name in className:
        if name.lower() in str(units[i].text).lower():
            matchCnt[i] = str(int(matchCnt[i]) + 1)
            if int(matchCnt[i]) == len(className):
                browser.execute_script('return arguments[0].scrollIntoView(true);', units[i])
                WebDriverWait(browser, 200).until(EC.element_to_be_clickable((By.CLASS_NAME, classId)))
                #element[i].click()
                #WebDriverWait(browser, 200).until(webdriver.support.expected_conditions.element_to_be_clickable(units[i]))
                #time.sleep(5)
                units[i].click()
                doesMatch = True
    if doesMatch:
        break

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    您可以使用 Javascript 来点击该单元,通过这种方式该元素将被点击而不是滚动元素进入视图。

    driver.execute_script("arguments[0].click();",unit[i])
    

    【讨论】:

    • 是的!现在问题都解决了。我已经为此苦苦挣扎了 2 周了。太感谢了!我真的很感谢你的帮助。 :)
    猜你喜欢
    • 2019-05-28
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2014-04-30
    相关资源
    最近更新 更多