Troubleshooting
Authentication Errors
Problem: AuthenticationError: Invalid API credentials
Verify your API key and secret key from the AskPablos dashboard
Use environment variables instead of hardcoding keys
import os
client = AskPablos(
api_key=os.getenv("ASKPABLOS_API_KEY"),
secret_key=os.getenv("ASKPABLOS_SECRET_KEY")
)
Connection / Timeout Errors
Problem: APIConnectionError or RequestTimeoutError
Increase the timeout value
Increase
max_retries
response = client.get(
"https://slow-website.com",
timeout=60,
max_retries=5
)
XPath Returns No Results
Problem: dom.xpath(...) returns an empty list even though the element exists on the site.
The page content is likely JavaScript-rendered. Use operations with waitForElement
so the browser waits for the element to appear before capturing the HTML:
from lxml import etree
response = client.get(
url="https://example.com",
browser=True,
operations=[{
"task": "waitForElement",
"match": {
"on": "xpath",
"rule": "visible",
"value": "//ul[@class='prod_list']"
}
}]
)
dom = etree.HTML(response.content)
items = dom.xpath("//ul[@class='prod_list']/li")
Note
Always use from lxml import etree. Python’s stdlib xml.etree has no
HTML() method and will silently fail.
Screenshot Not Captured
Problem: response.screenshot is None
screenshot=True requires browser=True:
response = client.get(
"https://example.com",
browser=True, # required
screenshot=True
)
Parameter Validation Error
Problem: ValueError: browser=True is required for screenshot=True
Any browser feature (screenshot, operations) requires browser=True.
Debugging
Enable debug logging to inspect requests:
import logging
from askpablos_api import configure_logging
configure_logging(level=logging.DEBUG)