Skip to content

Language setting via @browser ignored in actual browser behavior #23

@drego85

Description

@drego85

Passing lang=Lang.Hindi to the @browser decorator does not seem to affect either:

  1. The Accept-Language HTTP request header
  2. The browser’s own UI locale

Instead, the header and UI stay on my system default (it-IT).

For example, this script

from botasaurus.browser import browser, Driver
from botasaurus.lang import Lang
  
    
@browser(lang=Lang.Hindi)
def scrape_heading_task(driver: Driver, data):    
  
   
    driver.get("https://duckduckgo.com/?t=ffab&q=what+is+my+user+agent&ia=answer")
    
    driver.short_random_sleep()
    
    print(driver.page_text)

	
# Initiate the web scraping task
scrape_heading_task()

I get:

Your user agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Other HTTP headers
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7
Host: duckduckgo.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36

So there is no reference to the Hindi language set, even the browser graphically (by setting headless=False) still results in Italian.

I personally would like to change the Accept-Language identifier of Chrome.

How can I do this?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions