Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoSuchElementException and Other Errors #3

Open
g4bmnr2 opened this issue Jul 19, 2024 · 1 comment
Open

NoSuchElementException and Other Errors #3

g4bmnr2 opened this issue Jul 19, 2024 · 1 comment

Comments

@g4bmnr2
Copy link

g4bmnr2 commented Jul 19, 2024

Whenever I run the code, I am shown these errors multiple times:

Error 1:
2024-07-19 14:13:20,150 - facebook_page_scraper.element_finder - ERROR - Error at __find_name method : Message: Unable to locate element: ./ancestor::a
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 686, in __find_name
url_elem = name.find_element(By.XPATH, "./ancestor::a")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 735, in find_element
return self._execute(Command.FIND_CHILD_ELEMENT,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 710, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ./ancestor::a
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16

Error 2:
[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py:393: UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
warnings.warn("find_element_by_* commands are deprecated. Please use find_element() instead")
2024-07-19 14:13:20,573 - facebook_page_scraper.scraper - ERROR - Error at find_elements method : 'NoneType' object has no attribute 'get'
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\scraper.py", line 340, in __find_elements
"name": name.get('name'),
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

Error 3:
2024-07-19 14:14:01,006 - facebook_page_scraper.element_finder - ERROR - Error at find_image_url method : Message: The element with the reference 01cff0ea-cda6-4387-b31a-7a11b69dd271 is stale; either its node document is not the active document, or it is no longer connected to the DOM
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
StaleElementReferenceError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:724:5
getKnownElement@chrome://remote/content/marionette/json.sys.mjs:401:11
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:259:20
cloneObject/result<@chrome://remote/content/marionette/json.sys.mjs:53:52
cloneObject@chrome://remote/content/marionette/json.sys.mjs:53:25
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
json.deserialize@chrome://remote/content/marionette/json.sys.mjs:293:10
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:72:30
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 621, in __find_all_image_url
WebDriverWait(driver, 30).until(
File "[virtual env path]\Lib\site-packages\selenium\webdriver\support\wait.py", line 89, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 628, in __find_all_image_url
'images': [image.get_attribute("src") for image in images] if len(images) > 0 else [],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 628, in
'images': [image.get_attribute("src") for image in images] if len(images) > 0 else [],
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 155, in get_attribute
attribute_value = self.parent.execute_script(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 878, in execute_script
return self.execute(command, {
^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: The element with the reference 01cff0ea-cda6-4387-b31a-7a11b69dd271 is stale; either its node document is not the active document, or it is no longer connected to the DOM
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
StaleElementReferenceError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:724:5
getKnownElement@chrome://remote/content/marionette/json.sys.mjs:401:11
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:259:20
cloneObject/result<@chrome://remote/content/marionette/json.sys.mjs:53:52
cloneObject@chrome://remote/content/marionette/json.sys.mjs:53:25
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
json.deserialize@chrome://remote/content/marionette/json.sys.mjs:293:10
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:72:30

2024-07-19 14:14:01,111 - facebook_page_scraper.element_finder - ERROR - Error at find_image_url method : list index out of range
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 553, in __find_all_image_url
first_url_element = images[0].find_element_by_xpath('./ancestor::a')
~~~~~~^^^
IndexError: list index out of range
2024-07-19 14:14:11,941 - facebook_page_scraper.element_finder - ERROR - Error at __find_name method : Message: Unable to locate element: ./ancestor::a
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 686, in __find_name
url_elem = name.find_element(By.XPATH, "./ancestor::a")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 735, in find_element
return self._execute(Command.FIND_CHILD_ELEMENT,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 710, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ./ancestor::a
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16

2024-07-19 14:14:11,951 - facebook_page_scraper.element_finder - ERROR - Error at find_image_url method : list index out of range
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 553, in __find_all_image_url
first_url_element = images[0].find_element_by_xpath('./ancestor::a')
~~~~~~^^^
IndexError: list index out of range
2024-07-19 14:14:11,953 - facebook_page_scraper.scraper - ERROR - Error at find_elements method : 'NoneType' object has no attribute 'get'
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\scraper.py", line 340, in __find_elements
"name": name.get('name'),
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
all_posts length: 14
2024-07-19 14:14:12,102 - facebook_page_scraper.element_finder - ERROR - Error at find_image_url method : list index out of range
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 553, in __find_all_image_url
first_url_element = images[0].find_element_by_xpath('./ancestor::a')
~~~~~~^^^
IndexError: list index out of range
2024-07-19 14:14:12,315 - facebook_page_scraper.element_finder - ERROR - Error at find_image_url method : list index out of range
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 553, in __find_all_image_url
first_url_element = images[0].find_element_by_xpath('./ancestor::a')
~~~~~~^^^
IndexError: list index out of range
2024-07-19 14:14:12,452 - facebook_page_scraper.element_finder - ERROR - Error at __find_name method : Message: Unable to locate element: ./ancestor::a
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 686, in __find_name
url_elem = name.find_element(By.XPATH, "./ancestor::a")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 735, in find_element
return self._execute(Command.FIND_CHILD_ELEMENT,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 710, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ./ancestor::a
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16

2024-07-19 14:14:22,573 - facebook_page_scraper.scraper - ERROR - Error at find_elements method : 'NoneType' object has no attribute 'get'
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\scraper.py", line 340, in __find_elements
"name": name.get('name'),
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
2024-07-19 14:14:22,584 - facebook_page_scraper.element_finder - ERROR - Error at find_status method : Message: The element with the reference 2a30a5a1-1e58-48e3-ba1b-32a55b146120 is stale; either its node document is not the active document, or it is no longer connected to the DOM
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
StaleElementReferenceError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:724:5
getKnownElement@chrome://remote/content/marionette/json.sys.mjs:401:11
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:259:20
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
json.deserialize@chrome://remote/content/marionette/json.sys.mjs:293:10
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:72:30
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 87, in __find_status
link = post.find_element(
^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 735, in find_element
return self._execute(Command.FIND_CHILD_ELEMENT,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 710, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: The element with the reference 2a30a5a1-1e58-48e3-ba1b-32a55b146120 is stale; either its node document is not the active document, or it is no longer connected to the DOM
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
StaleElementReferenceError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:724:5
getKnownElement@chrome://remote/content/marionette/json.sys.mjs:401:11
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:259:20
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
json.deserialize@chrome://remote/content/marionette/json.sys.mjs:293:10
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:72:30

Error 4:
2024-07-19 14:14:32,198 - facebook_page_scraper.element_finder - ERROR - Error at find_status method : Message: The element with the reference 77e2c31d-d11c-47bb-b432-7353426f873e is stale; either its node document is not the active document, or it is no longer connected to the DOM
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
StaleElementReferenceError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:724:5
getKnownElement@chrome://remote/content/marionette/json.sys.mjs:401:11
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:259:20
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
json.deserialize@chrome://remote/content/marionette/json.sys.mjs:293:10
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:72:30
Traceback (most recent call last):
File "[virtual env path]\Lib\site-packages\facebook_page_scraper\element_finder.py", line 87, in __find_status
link = post.find_element(
^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 735, in find_element
return self._execute(Command.FIND_CHILD_ELEMENT,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 710, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "[virtual env path]\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: The element with the reference 77e2c31d-d11c-47bb-b432-7353426f873e is stale; either its node document is not the active document, or it is no longer connected to the DOM
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
StaleElementReferenceError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:724:5
getKnownElement@chrome://remote/content/marionette/json.sys.mjs:401:11
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:259:20
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
cloneObject@chrome://remote/content/marionette/json.sys.mjs:59:24
deserializeJSON@chrome://remote/content/marionette/json.sys.mjs:289:16
json.deserialize@chrome://remote/content/marionette/json.sys.mjs:293:10
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:72:30

Here's a snippet of my code:
FBPS_scraper = Facebook_scraper([some group ID],
10,
"firefox",
proxy=proxy, #proxy
timeout=300, #timeout
headless=False, #headless
isGroup=True) #isGroup
FBPS_output_json = FBPS_scraper.scrap_to_json()

@moda20
Copy link
Owner

moda20 commented Oct 4, 2024

@g4bmnr2 i updated the repo since your issue, can you recheck if it's fixed or not ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants