Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions