Undetectable automation with SeleniumBase UC Mode and undetected-chromedriver. (Python)

Поделиться
HTML-код
  • Опубликовано: 22 дек 2024

Комментарии • 195

  • @MichaelMintz
    @MichaelMintz  6 месяцев назад +6

    The next UC Mode video is ready: ruclips.net/video/2pTpBtaE7SQ/видео.html - More live demos (with code), more browsers, changing geolocation, bypassing login screens with cookies, and more.

    • @confutatore
      @confutatore 4 месяца назад

      Hello, it makes sense to use seleniumbase if Im already using antidetect browsers like gologin/multilogin etc that mask already selenium?

    • @Dee-n4n
      @Dee-n4n 3 месяца назад +1

      Today I was asked to put together puppeteer to bypass Cloudflare as our selenium wasn't cutting it. No wonder there, as we are using selenium as is in default mode with Firefox. But we do have very good infrastructure for selenium, and if selenium can be made to do the same thing, why bother with puppeteer.
      I thoroughly enjoyed your content and cut aways were just amazing. I am sure you put more time in those than writing down the content and I am grateful for that. I am going to watch this at least 10-20 more times in coming days.

    • @Dee-n4n
      @Dee-n4n 3 месяца назад

      One question, if I may ask: We are using the PHP Facebook driver with Selenium. Would it be easier to switch to Puppeteer, or to create an API endpoint using Selenium in UC mode and integrate it with our PHP code?
      I guess its more of a question for myself than you, but any thought would be really appreciated.

  • @ronaldokun
    @ronaldokun 8 месяцев назад +2

    That's was fun and extremely useful. SeleniumBase is amazing!

  • @icandreamstream
    @icandreamstream Год назад +16

    I wrote a similar library internally about 4-5 years back using Selenium and Capybara for Ruby. It patched chromedriver and did the UC tricks like modifying window.navigator and such. But now that I dusted it off it needs too much maintenance to justify, so SeleniumBase is perfect as a replacement. Boom, quick pip install and I have a working turnstile-passing browser. You're a legend Michael.

  • @proziam
    @proziam Год назад +11

    I've been trapped in UC hell waiting on updates for over a year, trying to keep the battleship afloat with duct tape and bubble gum. This one demo showed solutions for half of the cannon-ball sized holes we've been plugging, and after looking through the docs it looks like we'll be building a whole new battle(star)ship using SeleniumBase. I'll name the next version Enterprise in honor of this masterpiece. Live long and prosper.

    • @MichaelMintz
      @MichaelMintz  Год назад +4

      The Cylon/Borg battle will be marvelous. Get those FTL/Warp engines online!

  • @barsozdizdar7539
    @barsozdizdar7539 5 месяцев назад +2

    Micheal thank you so so much for great work and time you put in to Seleniumbase. You saved my life!!!!!

  • @mariojuniortorresperez7837
    @mariojuniortorresperez7837 6 месяцев назад +1

    The community really appreciate this job so far. Thanks you some much for your time sharing this knowledge.

  • @sheldonwolff-lm6ys
    @sheldonwolff-lm6ys Год назад +9

    Wow, Mike, once again you continue to amaze me with your additional great ideas. I've been following you on the net.. keep up these very interesting and informative articles Thanks 😊

  • @windlionandromeda7237
    @windlionandromeda7237 9 месяцев назад +2

    Great work brother, keep doing videos like this about selenium, ill shared with my friend and liked, thanks again !

  • @justfurcats4826
    @justfurcats4826 Год назад +2

    Saved me a lot of time with SeleniumBase, I used to only use undetected-chromedriver itself. thank you man

  • @DanValentine-d7z
    @DanValentine-d7z 3 месяца назад +1

    Absolutely brilliant. Exactly what I've been looking for!

  • @Extrey
    @Extrey Год назад +2

    Damn, man its amazing!!! I am stuck for 5 days on this captcha, and thanks to you work, now i got bypass!!! Page just loading with captcha, ckecking and going directly to the website, i can't believe in that!!

  • @WeirdScienceYT
    @WeirdScienceYT 5 месяцев назад +1

    Wow!! I have been trying to figure this out for ages. Absolutely amazing thank you so much!!!!!!!!

  • @uendelbatista4858
    @uendelbatista4858 9 месяцев назад +1

    Great work my friend, congrats from Brazil !!

  • @gibran.a.d
    @gibran.a.d 10 месяцев назад +1

    really appreciate your work dedicated... the best father of automation i think....

  • @starkiller-1
    @starkiller-1 Год назад +7

    Much more interesting than lectures at the university. Thank you for the work done. I really appreciate it. Already tested uc in the case

  • @amnirm
    @amnirm Год назад +1

    You are a genius! I truly enjoyed your fascinating ideas and your expertise is truly impressive.

  • @UdithaTennakoon
    @UdithaTennakoon 10 месяцев назад +1

    Excellent! I really appreciate your good work. Thank you.

  • @set1qs
    @set1qs Год назад +1

    O MY GOD! I spent a lot of time to trying solve CF problem ) and with you it was super easily!
    just few lines of code ))) THANK YOU )

  • @rachelw5990
    @rachelw5990 Год назад +3

    This is an awesome video! Thank you for sharing! 🎉

  • @4rodracing
    @4rodracing 4 месяца назад +1

    Thank you so much for this video and explaining everything!

  • @serhiiserhieiev2583
    @serhiiserhieiev2583 Год назад

    Very capacious and educational video. Thank you for your work. SeleniumBase is simply great.

  • @EmreYavuzalp
    @EmreYavuzalp 7 месяцев назад

    Can I ask one more thing? Your code at 12:21 won't open a chromium, even with the --gui option. However your my_first_test.py file works fine, with --gui option. This is important because I am adapting the my_first_test.py to my use case, the site detects it as a bot. I wanna use the code at 12:21, but that doesn't do anything sadly :/

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      Use `Driver(uc=True, headed=True)` to override the default headless mode on Linux. Although I may add the `--gui` command-line shortcut in the next release. The pytest formats already have all those shortcuts.

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      Upgrade to seleniumbase 4.26.2 (or newer).

  • @redsword7192
    @redsword7192 8 месяцев назад +1

    this video is so funny and informative.
    Thanks for this wonderful content. :D

  • @dystopianpalace9778
    @dystopianpalace9778 11 месяцев назад +1

    absolute gold!! Thanks Micheal

  • @barisyuksel7072
    @barisyuksel7072 9 месяцев назад +1

    Great job bro, thank you from Turkey

  • @TheDeFiWolf
    @TheDeFiWolf 4 месяца назад

    Bro just too honest and genuine for this world❤ I love you Micheal

  • @mistertigre7998
    @mistertigre7998 10 месяцев назад +1

    Hello, I made a script with UC mode that works on Windows. But when I tried to put it on a Raspberry Pi 4 with Ubuntu 23.10, the UC mode doesn't work. The website detects me as a bot. I tried headless and with a virtual display from pyvirtualdisplay. Do you have any ideas on what I need to change to make it work?

    • @MichaelMintz
      @MichaelMintz  10 месяцев назад

      Hello. See the discussion about UC Mode on Raspberry Pi here: github.com/seleniumbase/SeleniumBase/discussions/2286

  • @nagatoyt1972
    @nagatoyt1972 Год назад +2

    Best Video i see about selenium thnx ❤

  • @ryanbacich5689
    @ryanbacich5689 9 месяцев назад +1

    Hello, the particular website I am going to requires location permissions in the browser to fully load. If there anyway I can modify seleniumbase UC mode to either, 1.) give the site location permissions with a fake location, or 2.) give the site my actual location permissions while allowing my selenium webscraper to go otherwise undetected. Thank you for your time, I appreciate you for sharing your creation and knowledge.

    • @MichaelMintz
      @MichaelMintz  9 месяцев назад

      Geolocation example: github.com/seleniumbase/SeleniumBase/blob/master/examples/test_geolocation.py

  • @JameyTsey
    @JameyTsey Год назад +1

    You are doing a great job! You cannot image how much I suffer from undetected-chromedriver😂

  • @Ahmedalgorithm
    @Ahmedalgorithm 3 месяца назад

    i tried to use it on godady and it's dosen't work at all with the uc mode

  • @sugoiitech
    @sugoiitech Год назад +3

    Wow, it works for me perfectly!!!

  • @ara6352
    @ara6352 7 месяцев назад

    Hi, do you mind elaborating on the part where it said "if using a custom user_data_dir, don't let that be used with non-UC-mode chrome"? How do I prevent this from happening? Sorry I'm a beginner.

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      It means don’t reuse an existing user_data_dir for UC Mode scripts unless it was created by UC Mode and only used by UC Mode. Keep track of how each user_data_dir was created and used.

  • @fadelellaherrami8840
    @fadelellaherrami8840 8 месяцев назад +2

    thank you so much Michael

  • @parthpanchal6598
    @parthpanchal6598 8 месяцев назад +1

    Thank you for the seleniumbase it is a great tool

  • @dany1980it
    @dany1980it 8 месяцев назад +1

    You great, I love seleniumbase.

  • @anishakumariani3413
    @anishakumariani3413 Месяц назад

    hi i am facing the same issue i am using selenium with java chrome version is 130 & selenium version is 4.26.0

  • @benjamins8582
    @benjamins8582 11 месяцев назад +1

    Can you do Something similar with playwright?

  • @RedPillSpill101
    @RedPillSpill101 8 месяцев назад +1

    Can uc mode work with geckodriver or brave driver? Or only chromedriver.

    • @MichaelMintz
      @MichaelMintz  8 месяцев назад

      Works with other Chromium browsers, such as Brave. For details, see the 2nd UC Mode video: ruclips.net/video/2pTpBtaE7SQ/видео.html

    • @RedPillSpill101
      @RedPillSpill101 8 месяцев назад

      @@MichaelMintz thank you

  • @jonwakefield813
    @jonwakefield813 Год назад +1

    Cool video & Also very helpful. Thanks!

  • @morroderir6624
    @morroderir6624 9 месяцев назад +2

    Firstly, congratulations on your incredible work. This tool has helped me a lot. I really liked the editing of this video. I would like to take the opportunity and ask a question. I have a script that opens a new driver "self.get_new_driver()", however, I am having difficulty closing the other driver and keeping just one. I've already tried using "self.quit_extra_driver()", but this command ends up closing all open drivers. one by one. Thank you very much for the answer. Hugs.

    • @MichaelMintz
      @MichaelMintz  9 месяцев назад +1

      Thank you. "self.quit_extra_driver()" is for closing any browser window that was opened with "self.get_new_driver()". You can also use `driver.quit()` to close a browser window.

    • @morroderir6624
      @morroderir6624 9 месяцев назад +1

      @@MichaelMintz It's works. thanks man

  • @niamurrashid3238
    @niamurrashid3238 11 месяцев назад +1

    this guy is simply awesome🖤🖤🖤

  • @Carter_Moody
    @Carter_Moody Год назад +1

    Great video and great software. Thank you.

  • @Mohammad-r5w7h
    @Mohammad-r5w7h 8 месяцев назад

    forgive but iam new to this how can i set proxy in uc mode ?

    • @MichaelMintz
      @MichaelMintz  8 месяцев назад

      Pass the “proxy” option with “ip:port” or “user:pass@ip:port”.

  • @niko9632
    @niko9632 Год назад +2

    Great Video! Helped me so much!! However when i use Driver(uc=True, proxy=myproxy) i get a Notification in the browser: "you are using an unsupported command line flag: --ignore-certificate-errors. I also cant get passed on nowsecure when i use this proxy line (My Proxy works fine). " How do i use proxy in uc mode?

    • @MichaelMintz
      @MichaelMintz  Год назад +1

      That warning shouldn't be an issue. There's another selenium-specific command-line option to remove it, but then you would get detected. Maybe your proxy was already blacklisted, as it is working on a proxy I tried with the latest version of SeleniumBase (4.20.8), which actually fixed a bug with proxies.

  • @MichaelObamaSon
    @MichaelObamaSon Год назад +1

    Thank you for this! 🙏🏻

  • @bezkapitalu
    @bezkapitalu 4 месяца назад

    I tried using seleniumbase instead of undetected_chromedriver, but when I use selenium base it runs pytest and I don't know what's going on. Can I use seleniumbase without pytest, like with uc? I use pycharm, may it be an issue?

    • @MichaelMintz
      @MichaelMintz  4 месяца назад

      It depends on which Syntax Formats you use. pytest is only needed for some of the them. It’s covered in the 3rd video: ruclips.net/video/-EpZlhGWo9k/видео.html

  • @csea148
    @csea148 Год назад +2

    Hey, SeleniumBase seems awesome. I've been using UC for a while and am looking into migrating some things over and am probably doing something wrong, but perhaps you can help. When I copy code from the docs my autocomplete stops working.
    The way I create a driver now:
    web = uc.Chrome(options=chrome_options, driver_executable_path=path)
    Based on the docs it seems I should do :
    web = Driver(browser="chrome", uc=True)
    or:
    web = SB(browser="chrome", uc=True)
    When I use a class-based syntax autocomplete seems to work, but when I use a more functional programming syntax it does not. Any idea what I'm doing wrong?

    • @MichaelMintz
      @MichaelMintz  Год назад

      Are you referring to auto-completion from a text editor / IDE such as VS Code? That may be up to the editor, but tab-autocompletion should work from within a Python breakpoint. Try `breakpoint()` in your code to open up Pdb+ (SeleniumBase's default debugger). Then use tab to autocomplete. To leave the breakpoint, type `c` and press `Return`.

    • @csea148
      @csea148 Год назад +1

      @@MichaelMintz I will create a github issue so i can give you some decent details to work with. Thank you for the great work on Seleniumbase!

  • @TaiNguyen-l1u8e
    @TaiNguyen-l1u8e 9 месяцев назад

    how to attach to the opening browser ?
    or I understand something that you recommended launch chrome before attaching chromedriver

    • @MichaelMintz
      @MichaelMintz  9 месяцев назад

      That's partly how UC Mode works: By attaching the driver to an already-running Chrome browser.

  • @leonwinkel6084
    @leonwinkel6084 Год назад +1

    Is it possible in any way to just exchange the driver and use all the old function that are for normal selenium? If yes, how? I found this raw driver part in the docs but i didnt got it entirely. This will make it much easier to integrate into exisitng algorithms to have a comparison between normal selenium and seleniumbase

    • @MichaelMintz
      @MichaelMintz  Год назад +1

      Yes, see github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md#sb_sf_23 with the "driver" format, number 23.

    • @leonwinkel6084
      @leonwinkel6084 Год назад +1

      awesome, thanks! @@MichaelMintz

  • @guocity
    @guocity 8 месяцев назад

    what is difference between basecase and sb?

    • @MichaelMintz
      @MichaelMintz  8 месяцев назад

      github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md

    • @guocity
      @guocity 8 месяцев назад +1

      @@MichaelMintz Thanks, that's really helpful, is there anything in the web you can't automate?

  • @EmreYavuzalp
    @EmreYavuzalp 7 месяцев назад

    Mate it doesn't open a chromium window unlike selenium itself. How do we do this?

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      What do you mean? UC Mode opens Chrome.

    • @EmreYavuzalp
      @EmreYavuzalp 7 месяцев назад

      @@MichaelMintz Sorry Linux doesn't open that by default. I solved it by adding --gui option. Like "pytest main.py --gui" But how do you add sleep, what is the best way? I use time.sleep but is this optimal?

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      @@EmreYavuzalp If you're referring to the sleep during the reconnect, you can modify the reconnect_time. Details in the second video: ruclips.net/video/2pTpBtaE7SQ/видео.html (For a regular sleep, you can do `sb.sleep(seconds)`, and `driver.sleep(seconds)` for the modified driver.

  • @beni2731
    @beni2731 3 месяца назад

    I am trying to use this on snapchat login but I keep getting into captcha..any way I can go undetected?

    • @MichaelMintz
      @MichaelMintz  3 месяца назад

      It’s specifically designed for bypassing Cloudflare CAPTCHAs.

  • @popojijo78
    @popojijo78 11 месяцев назад

    @MichaelMintz I use a scraper to open 'hits' in new tabs so that I can review them once the scrape is completed. Unfortanately, I must keep my browsed page count rather low, so I must pop new sessions fairly often. My old selenium/firefox based setup would leave all windows intact when opening a new browser session. How do I configure seleniumbase in UC mode to leave the previous windows open when starting a new session? (self.driver = Driver(uc=True) closes the previous browser window) Brilliant work btw. Thanks!

    • @MichaelMintz
      @MichaelMintz  11 месяцев назад +1

      If you're using the `Driver()` format, then the browser only quits after calling `driver.quit()`. You can choose to include the `driver.quit()` (or not) like in github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_browser_launcher.py where the `quit()` happens after the block. For keeping the tab open, use `driver.uc_open(url)` when opening URLs in UC Mode.

  • @HammadZaki-bx6zx
    @HammadZaki-bx6zx 7 месяцев назад

    will it work with headless. or can we schedule it in baremetal server?

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      For maximum stealth, avoid headless mode.

    • @hammadzaki1624
      @hammadzaki1624 7 месяцев назад

      ​@@MichaelMintz But without making it headless is there anyway to run it on server

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      @@hammadzaki1624 Use `xvfb=True` with the `SB()` format.

    • @hammadzaki1624
      @hammadzaki1624 7 месяцев назад

      @@MichaelMintz with sb(uc=True, xvfb = True) like that??

    • @MichaelMintz
      @MichaelMintz  7 месяцев назад

      @@hammadzaki1624 `with SB(uc=True, xvfb=True) as sb:`

  • @luisflorentino7690
    @luisflorentino7690 5 месяцев назад

    if I use a custom user_data_dir with uc mode, can it be opened as a normal browser without automatization, or it can only be used by seleniumbase?

    • @MichaelMintz
      @MichaelMintz  5 месяцев назад +1

      SeleniumBase is required for UC Mode to work.

    • @luisflorentino7690
      @luisflorentino7690 5 месяцев назад

      But uc mode is just avoid bot detection right? If I'm not using automatization tools and want to navigate as a normal user to use this profile's browser history, cookies, ect, is this possible?

    • @luisflorentino7690
      @luisflorentino7690 5 месяцев назад

      Btw, thanks for you reply. 🙏

  • @k0937a4b
    @k0937a4b 10 месяцев назад

    Thank you Michael, the SeleniumBase is a great package I have ever used for web automation. I just wonder can you provide more detail to show how to bypass bot detection system from DataDome with UC mode?

    • @MichaelMintz
      @MichaelMintz  10 месяцев назад +1

      Thank you. See the DataDome thread here: github.com/seleniumbase/SeleniumBase/issues/2365#issuecomment-1858065260

  • @DenizLeblebici
    @DenizLeblebici 8 месяцев назад

    Great video! I have few questions.
    1) How to rotate user agents and IP ?
    2) Is cookie management necessary?

    • @MichaelMintz
      @MichaelMintz  8 месяцев назад

      1. See the documentation in the SeleniumBase GitHub repo for that information. 2. No cookie management is necessary.

  • @guocity
    @guocity 8 месяцев назад

    is there any way to use selenium base with seleniumwire, seems like both use different driver:
    from seleniumbase import Driver
    from seleniumwire import webdriver

    • @guocity
      @guocity 8 месяцев назад

      ok, I find out wire=true, how to pass in wire_options and chrome_options?

    • @MichaelMintz
      @MichaelMintz  8 месяцев назад

      github.com/seleniumbase/SeleniumBase/issues/2145

  • @yaircapetillo6598
    @yaircapetillo6598 Год назад +1

    Mike you the goat fr 🐐

  • @ApexArtistX
    @ApexArtistX Год назад +65

    Remove the annoying video clips its more annoying than RUclips ads 😂

    • @MichaelMintz
      @MichaelMintz  11 месяцев назад +2

      The Star Trek, Ghostbusters, Orville, or other clips?

    • @benh1163
      @benh1163 11 месяцев назад +9

      @@MichaelMintzall of them, those are good in RUclips videos if it’s maybe 1 or 2 for the whole video but it felt like u put one every 10 seconds lol

    • @MichaelMintz
      @MichaelMintz  11 месяцев назад +11

      @@benh1163 RUclips's "Suggested videos" algorithm seems to favor videos that contain clips from other videos. This one is currently my most-watched video. I'll try fewer clips in the next one.

    • @utkendi
      @utkendi 10 месяцев назад +3

      All​@@MichaelMintz

    • @snusmumriken232
      @snusmumriken232 10 месяцев назад +5

      Oh my god please remove the annoying joke clips. Why would you take an informative talk and make it annoying?

  • @tongchengli5024
    @tongchengli5024 9 месяцев назад +1

    Great work!

  • @joewilliams9783
    @joewilliams9783 11 месяцев назад

    Hey maybe not the right place for this question but have been using SB for a few days now and reading through the docs. I was just curious the point of find_elements. I was originally trying to get text from a dynamic number of questions, find_elements worked with the right selector and got all the elements I expected. But get_text does not work with elements only selectors. Most methods seem to use selectors. So to get my text I will have to iterate by the length of the element list and use get_text('selector[i]') or something like that. Sorry for the length and over-specificity but this seems redundant and I think there is a better way to do it that I am missing in the docs. Tyia for any help

    • @MichaelMintz
      @MichaelMintz  11 месяцев назад +1

      Most SeleniumBase methods expect a selector (not a WebElement, which has `.text` as a property to get the text from the WebElement directly). The find_elements(selector) method will return a list of WebElements. From each of those WebElements, you can call element.text for the text. I hope that answers your question.

    • @joewilliams9783
      @joewilliams9783 11 месяцев назад

      Ohh got it, thank you so much. Seems I need to look into WebElements more 😅. Also, really wasn't expecting a reply that fast on a holiday weekend appreciate it king. @@MichaelMintz

  • @BrainBingeOG
    @BrainBingeOG 11 месяцев назад +1

    This is amazing thank you

  • @mats8375
    @mats8375 Год назад +1

    You are brilliant.

  • @mrpanha5559
    @mrpanha5559 3 месяца назад +1

    It’s not annoying that u add those movie videos , it’s show that we need to be fun when learning , this lesson worth million of dollars if u really serious about automation business.

  • @ErikS-
    @ErikS- 10 месяцев назад

    So how is this different from selenium-wire's UC mode?
    Sounds pretty much the same...

    • @MichaelMintz
      @MichaelMintz  10 месяцев назад

      selenium-wire integrates with undetected-chromedriver for all of its anti-detection abilities. SeleniumBase has a separate integration with selenium-wire (but not for avoiding detection): github.com/seleniumbase/SeleniumBase/issues/2145

  • @G.O.A.T.Xeditz
    @G.O.A.T.Xeditz Месяц назад

    how to spiecify user data dir in selenium base

    • @MichaelMintz
      @MichaelMintz  Месяц назад

      There's a `user_data_dir` arg.

    • @G.O.A.T.Xeditz
      @G.O.A.T.Xeditz Месяц назад

      @@MichaelMintz when i speicify it couldnt open user data dir that i speicfy with location of folder and also should i use uc driver

    • @MichaelMintz
      @MichaelMintz  Месяц назад

      Don’t mix a regular user-data-dir with one used by UC Mode. Let UC Mode create the user-data-dir for you.

    • @G.O.A.T.Xeditz
      @G.O.A.T.Xeditz Месяц назад

      @@MichaelMintz but i wanna use the regular one

    • @MichaelMintz
      @MichaelMintz  Месяц назад

      @@G.O.A.T.Xeditz Incompatible formats.

  • @MajoorPE
    @MajoorPE 11 месяцев назад

    Has anyone managed to use the uc configuration in Selenium Grid?
    When I'm starting it is using normal selenium.

    • @MichaelMintz
      @MichaelMintz  11 месяцев назад

      UC Mode isn’t compatible with the Selenium Grid.

  • @ControlTheGuh
    @ControlTheGuh 9 месяцев назад +3

    Lay of the cutscenes

  • @jaggin11
    @jaggin11 9 месяцев назад +4

    All the memes and videos are killing me lol

  • @alphaprimer6485
    @alphaprimer6485 11 месяцев назад +1

    Absolute Legend.

  • @johnkoestner5907
    @johnkoestner5907 Год назад +1

    Very impressed!

  • @artemiynoskov7827
    @artemiynoskov7827 Год назад

    Hi, it seems like the most suitable things for me. However, i'm very beginner. When i start scripts browser window doesn't appear. Is it an bug on my side, or it is intended behavior ?

    • @MichaelMintz
      @MichaelMintz  Год назад +1

      Are you using Linux? By default, tests on Linux run in headless mode. Use `headed=True` or `pytest --headed` to see the browser on a headed Linux machine.

    • @artemiynoskov7827
      @artemiynoskov7827 Год назад

      thanks for help, i've found --gui flag for tests@@MichaelMintz

  • @surisua16
    @surisua16 10 месяцев назад

    hello! how to implement click on Enter

    • @MichaelMintz
      @MichaelMintz  10 месяцев назад

      UC Mode special clicks are done with `driver.uc_click(selector)`

  • @svitoch_blockchain
    @svitoch_blockchain 10 месяцев назад

    Thanks for great library !

  • @asharbinkhalil
    @asharbinkhalil 10 месяцев назад

    I tried the scripts today, didn't worked for me, is UC mode not working anymore or I'm doing something wrong

    • @MichaelMintz
      @MichaelMintz  10 месяцев назад

      This sample script worked for me: github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_uc_mode.py

  • @code_dictator
    @code_dictator 9 месяцев назад +6

    Please don't add so many clips, I am here to learn, not to laugh lmao

  • @saarembhatti6693
    @saarembhatti6693 Год назад

    can this be used in Jupyter Notebooks?

    • @MichaelMintz
      @MichaelMintz  Год назад

      I haven’t tried. Maybe… maybe not.

    • @joewilliams9783
      @joewilliams9783 11 месяцев назад +1

      yes it works fine in ipynb files

  • @gustavoconsoni2750
    @gustavoconsoni2750 Год назад +1

    Michael, how can I add options like "--mute audio" from browser using the driver manager?

    • @MichaelMintz
      @MichaelMintz  Год назад

      Pass extra options into `chromium_arg` - Eg. "ARG=N,ARG2" (comma-separated; initial dashes not needed)

    • @gustavoconsoni2750
      @gustavoconsoni2750 Год назад

      ​@@MichaelMintz Thank you very much, it worked!
      Please answer one last question, what are the new features that headless2 has compared to normal headless?

    • @MichaelMintz
      @MichaelMintz  Год назад

      @@gustavoconsoni2750 `headless2` triggers the newer Chrome headless mode: stackoverflow.com/a/73840130/7058266 - It improves on the old headless mode by allowing extensions, etc. `headless2` is automatically used in SeleniumBase as needed, such as when using headless UC Mode.

  • @blacksundarkskies
    @blacksundarkskies 8 месяцев назад

    is there a way disconect driver right after clicking an element?

    • @MichaelMintz
      @MichaelMintz  8 месяцев назад

      Use “sb.driver.uc_click(selector)”

    • @blacksundarkskies
      @blacksundarkskies 7 месяцев назад

      @@MichaelMintz cool , but it don't see to work for my shenanigans

  • @AwesomeKidsWorld
    @AwesomeKidsWorld 6 месяцев назад

    Thank alot for your UC mode, but can you please kindly tell us how to use : user_data_dir

    • @MichaelMintz
      @MichaelMintz  6 месяцев назад

      Set the "user_data_dir" arg when you want to create and use a custom Chrome User Data Dir. (And don't mix your UC Mode User Data Dir with non UC Mode Chrome.)

  • @1C4R0
    @1C4R0 Год назад +1

    you saved me bro. I love u

  • @leonwinkel6084
    @leonwinkel6084 Год назад +1

    Thanks a lot for sharing your knowledge! This seems truely like an amazing framework and smart though through extension of the functions that are executed in the webautomation.
    Will start to test it for my applications,
    Thanks a lot again!

    • @leonwinkel6084
      @leonwinkel6084 Год назад

      I was thinking about a way, where its possible to actually move a mouse in between the elements that are clicked. In theory a caluclation of the coordinates and then following a vector from one element to the other, with a bit off set + correction movments should create a very much human like behaviour.
      Since there are tools as Hotjar, that tracks the cursor movement, mainly for landigpage or UI optimization, it shouldnt be so difficuilt to use it for bot detection if the "guards" would like to do that

  • @Niklas-sk6vb
    @Niklas-sk6vb Год назад +1

    Nice Video
    Pls more

  • @tiwale6387
    @tiwale6387 11 месяцев назад

    Hi great content, a shame though that you only have less than 1000 subs. Why not set UC mode as the default mode? Is there a disadvantage? Also, which example scripts if any use the multithread ?

    • @MichaelMintz
      @MichaelMintz  11 месяцев назад

      Changing default settings can break backwards compatibility, so UC Mode is activated by setting it directly. Regular mode is a bit faster, as it has less to do. For a multithreaded example, see github.com/seleniumbase/SeleniumBase/issues/2006#issuecomment-1679789785. There are more examples in Github.

    • @MichaelMintz
      @MichaelMintz  6 месяцев назад

      Now there are more than “1000 subs”… 😉

  • @hungry3448
    @hungry3448 Год назад +1

    great video!

  • @s4fara454
    @s4fara454 7 месяцев назад +1

    Ty so much!

  • @web3twon
    @web3twon Год назад

    Lol serious though..My script runs and once its finished, i navigate to do a pixel scan and it is detected as a bot. Wonder if you could look at the Frankenstein code I put together and see why. I made sure im using the latest seleniumbase as well 🤔

    • @MichaelMintz
      @MichaelMintz  Год назад +1

      GitHub is the place for opening tickets.

    • @web3twon
      @web3twon Год назад

      @@MichaelMintz I'm actually on there heavily reading and digging in.
      I can hardly get a basic version running without detection I must be doing something wrong fundamentally.
      Pretty new to GitHub is there a certain ticket I need to put in?
      Appreciate your work on this, I'm going back to watch your presentation you gave a little over 6 months ago to get a better idea of how it all works

  • @samib.1912
    @samib.1912 11 месяцев назад

    Hey, awesome work and thanks for sharing it, it's really helpful to have this tutorial. I have 3 questions and will ask them here in case you're still reading the comments:
    - How will Google Ads clicks perform with the current version ?
    - Is there any way to donate for your work on this ?
    - Do you have any email where I can reach you ?
    Thanks and keep up the good work ! :)

  • @thvk98
    @thvk98 5 месяцев назад +1

    Video still be informative without using unnecessary random video clips

  • @steveblack2139
    @steveblack2139 7 месяцев назад +1

    Thanks man

  • @LeuxSKreux
    @LeuxSKreux 9 месяцев назад

    Hoping you’re available! I needs asssitance creating a python based web app. Was wondering if you’d help. Don’t mind to pay!

  • @wampatan9
    @wampatan9 9 месяцев назад +3

    Honestly, while I appreciate the technicalities, I found the over-use of meme-clips obnoxious and disruptive.

  • @ElChocoTavos
    @ElChocoTavos 4 месяца назад

    Teacher now make a tutorial teaching how to bypass Twitch detection when using selenium

  • @im.futuredoctor3725
    @im.futuredoctor3725 10 месяцев назад

    Great and very informative. kindly make a video on the following
    developing a web brower that has following functions
    URL insertion
    open the inserted URL into diffrent New Tabs randomly
    and assign a random user agent (such as : chrome , opera , safari , edge , firefox, and other known browsers also ) open every new tab with new user agent.
    Proxy Insertion
    500 proxies adding options available and randomly pick only one then don't use this proxy which is alreday used pick a new one for all the open Tabs
    Number of Tab (randomly between 1-20)
    Random user agent switcher and manager
    (such as : chrome , opera , safari , edge , firefox, and other known browsers also )
    automatically scroll the whole open page up and within 60seconds
    scroll down then up then down then till the end of the page most important stay undetectable.
    thank you for your time 😌❤

  • @ar4732
    @ar4732 8 месяцев назад

    Anyone have a bot to skip those annoy video clips

  • @DerickMasai
    @DerickMasai 8 месяцев назад +1

    Dude, good video but when using these cutaway b-roll clips, please practice less is more. 1,2,3 is fine but one after every single sentense gets annoying, fast

  • @LaravicCode
    @LaravicCode 9 месяцев назад +3

    Guys can someone build a bot using seleniumBase just for skip all the memes on this video !!

  • @gurkaran_singh
    @gurkaran_singh 11 дней назад +1

    video is incredibly good, just too many memes

    • @MichaelMintz
      @MichaelMintz  11 дней назад +1

      No memes in the 4th video: ruclips.net/video/Mr90iQmNsKM/видео.html