javascript error: arguments[0].scrollIntoView is not a function using selenium on python

后端 未结 2 1716
南笙
南笙 2021-01-28 14:10

I\'m using Selenium on python and I would like to scroll to an element to click on it. Everywhere I see that the rigth things to do to go directly to the element is to use :

相关标签:
2条回答
  • 2021-01-28 14:50

    scrollIntoView() is part of the DOM API and you need to run it on an WebElement but not on a List of WebElement(s).

    You need to change find_element(s) to find_element:

    element = driver.find_element_by_class_name('dg-button')
    driver.execute_script("return arguments[0].scrollIntoView();", element)
    
    0 讨论(0)
  • 2021-01-28 14:52

    Please use the line of code mentioned below instead of the one you are using:

    driver.execute_script("arguments[0].scrollIntoView();", element)
    

    Updated answer:
    You can also use location_once_scrolled_into_view it gives the coordinates of the element but it does scrolls the element into view as well. You can use it like:

    element = driver.find_elements_by_class_name('dg-button')
    element.location_once_scrolled_into_view
    
    0 讨论(0)
提交回复
热议问题