#!/usr/bin/env python3 """ Test WITHOUT forcing English locale - use the page's default language. """ import time from seleniumbase import Driver # NO hl=en parameter! url = "https://www.google.com/maps/search/?api=1&query=panevezio%20respubliikine%20ligonine" driver = Driver(uc=True, headless=False) try: driver.get(url) print(f"Loaded (NO hl=en): {url}") time.sleep(5) # GDPR try: form_btns = driver.find_elements('css selector', 'form button') for btn in form_btns: btn_text = (btn.text or '').lower() if 'accept' in btn_text or 'priim' in btn_text: # Lithuanian "priimti" print(f"Clicking consent: {btn.text}") btn.click() time.sleep(2) break except: pass # List ALL tabs print("\nALL TABS FOUND:") time.sleep(2) tabs = driver.find_elements('css selector', 'button[role="tab"]') for i, tab in enumerate(tabs, 1): text = tab.text or '' aria = tab.get_attribute('aria-label') or '' print(f" Tab {i}: text='{text}', aria='{aria}'") # Look for reviews tab (try multiple keywords) review_keywords = ['review', 'reseña', 'atsiliepimai', 'atsiliepi', 'отзыв'] review_tab_found = False for tab in tabs: text = (tab.text or '').lower() aria = (tab.get_attribute('aria-label') or '').lower() for keyword in review_keywords: if keyword in text or keyword in aria: print(f"\nFound REVIEWS TAB: {tab.text or aria[:50]}") driver.execute_script("arguments[0].click();", tab) time.sleep(5) review_tab_found = True break if review_tab_found: break if not review_tab_found: print("\nWARNING: Still no reviews tab found!") else: # Now scroll and check for reviews print("\nScrolling to load reviews...") try: pane = driver.find_element('css selector', 'div.m6QErb.WNBkOb.XiKgde') for i in range(10): driver.execute_script("arguments[0].scrollBy(0, 400);", pane) time.sleep(0.3) except: pass # Check for reviews using known selectors selectors_to_check = [ 'div.jftiEf.fontBodyMedium', 'div.jftiEf', 'div.fontBodyMedium', 'div[data-review-id]' ] print("\nChecking selectors:") for selector in selectors_to_check: count = driver.execute_script(f"return document.querySelectorAll('{selector}').length;") print(f" {selector:30} : {count} elements") print(f"\n{'='*80}") print("Browser open for inspection (120s)...") print(f"{'='*80}") time.sleep(120) finally: driver.quit()