hbrovell
hbrovell

Reputation: 547

Python selenium send_keys not working in chrome

I'm new to python coding. And I'm trying to play around with python and Selenium in chrome. And I have this code where I'm trying to move a webpage up and down. But it isn't working.

body_elem = browser.find_element_by_tag_name('body')

for __ in range(3):
    body_elem.send_keys(Keys.END)
    sleep(2)
    body_elem.send_keys(Keys.HOME)
    sleep(2)

All I get is this long error message:

Traceback (most recent call last):
  File "selenium_test.py", line 34, in <module>
    body_elem.send_keys(Keys.HOME)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 479, in send_keys
    'value': keys_to_typing(value)})
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 628, in _execute
    return self._parent.execute(command, params)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

Anybody got an idea of whats is wrong?

Upvotes: 1

Views: 1662

Answers (1)

alecxe
alecxe

Reputation: 473813

This is most likely because of the fact that the DOM tree or the body element signature itself changed after the first "down" move. One straightforward way to approach the problem would be to "re-find" the element constantly:

for _ in range(3):
    browser.find_element_by_tag_name('body').send_keys(Keys.END)
    sleep(2)
    browser.find_element_by_tag_name('body').send_keys(Keys.HOME)
    sleep(2)

Upvotes: 1

Related Questions