daijro / camoufox

🦊 Undetected web scraping browser
https://camoufox.com
Mozilla Public License 2.0
140 stars 11 forks source link

Screen issue #50

Closed MaxAndolini closed 3 hours ago

MaxAndolini commented 3 hours ago

Describe the bug:

I want to use it with multi-threads in mini mobile phone screen size but I can't give a fixed screen resolution. Also, how can I change the position of opened browsers on the screen?

Screenshots:

Screen.init() got an unexpected keyword argument 'width'

To Reproduce:

from browserforge.fingerprints import Screen

custom_screen = Screen(width=1920, height=1080) with Camoufox(screen=custom_screen) as browser:

Version:

Latest browserforge and camoufox

daijro commented 3 hours ago

Sorry, this was an error in the documentation, It should be max_width and max_height, like in Browserforge:

constrains = Screen(max_width=1920, max_height=1080)
with Camoufox(screen=constrains) as browser:
    ...

Mobile fingerprints aren't yet supported because Camoufox does not handle mobile pointer events yet. This can some sites to detect that it's not really a mobile phone/tablet.

daijro commented 3 hours ago

Also, how can I change the position of opened browsers on the screen?

I'll look into how I can set this :+1:

MaxAndolini commented 3 hours ago

Sorry, this was an error in the documentation, It should be max_width and max_height, like in Browserforge:

constrains = Screen(max_width=1920, max_height=1080)
with Camoufox(screen=constrains) as browser:
    ...

Mobile fingerprints aren't yet supported because Camoufox does not handle mobile pointer events yet. This can some sites to detect that it's not really a mobile phone/tablet.

Still it's not fixed screen size I don't want it smaller or bigger and I want to make it 720p or 480p.

For example, I set it to 1920x1080, but it opens in a larger resolution than it wants, but I want to open the screen in a fixed smaller size.

MaxAndolini commented 3 hours ago

Sorry, this was an error in the documentation, It should be max_width and max_height, like in Browserforge:

constrains = Screen(max_width=1920, max_height=1080)
with Camoufox(screen=constrains) as browser:
    ...

Mobile fingerprints aren't yet supported because Camoufox does not handle mobile pointer events yet. This can some sites to detect that it's not really a mobile phone/tablet.

Also, I didn't mention the fingerprint, I wanted the screen to be mobile sized so that it can be viewed in more areas while using it.

netdev1 commented 3 hours ago

Still it's not fixed screen size I don't want it smaller or bigger and I want to make it 720p or 480p.

set min_width and max_width to the same values, same for height

daijro commented 3 hours ago

Still it's not fixed screen size I don't want it smaller or bigger and I want to make it 720p or 480p.

For example, I set it to 1920x1080, but it opens in a larger resolution than it wants, but I want to open the screen in a fixed smaller size.

I'll add the ability to pass in a (width, height) tuple pair to screen to set it to a fixed value if you don't want it to automatically generate.

But the reason it rotates screen sizes is to evade detection, and setting it to a fixed value to see it easier might cause suspicion if you're visiting the same website with the same screen size too many times.

MaxAndolini commented 2 hours ago

Still it's not fixed screen size I don't want it smaller or bigger and I want to make it 720p or 480p.

set min_width and max_width to the same values, same for height

I guess you don't understand, it doesn't work that way, that's why I opened an issue, I was using min and max, that's the problem.

MaxAndolini commented 2 hours ago

Still it's not fixed screen size I don't want it smaller or bigger and I want to make it 720p or 480p. For example, I set it to 1920x1080, but it opens in a larger resolution than it wants, but I want to open the screen in a fixed smaller size.

I'll add the ability to pass in a (width, height) tuple pair to screen to set it to a fixed value if you don't want it to automatically generate.

But the reason it rotates screen sizes is to evade detection, and setting it to a fixed value to see it easier might cause suspicion if you're visiting the same website with the same screen size too many times.

I want it because the site I visit does not look at it, I tried it as args but it does not work, I cannot change the screen setting that way at the moment, other than a certain screen resolution, the script gives an error.

Error;

No headers based on this input can be generated. Please relax or change some of the requirements you specified.