Splinter Foundations for Python

  Рет қаралды 9,016

Sigma Coding

Sigma Coding

Күн бұрын

Пікірлер: 55
@greyreynyn
@greyreynyn 5 жыл бұрын
2:28 "I like to run as administrator because it's safer" lmao
@SigmaCoding
@SigmaCoding 5 жыл бұрын
Can't go wrong with Admin. ;)
@hobbyisthiatt
@hobbyisthiatt 5 жыл бұрын
Incredible videos and tutorials! You clearly label components of code with # and do an excellent job of explaining! Keep up the good work!
@SigmaCoding
@SigmaCoding 5 жыл бұрын
Glad you liked it! Yeah, if anything, I over comment my code, but my assumption is that if you're watching a tutorial, you want to know how each line works. :)
@robertdwyer7707
@robertdwyer7707 5 жыл бұрын
Awesome series! Great job breaking out a tutorial on splinter for the TD Ameritrade API
@codingwithjoyk
@codingwithjoyk 5 жыл бұрын
Great start! Looking forward to this series alot! Thanks...
@SigmaCoding
@SigmaCoding 5 жыл бұрын
More will be coming soon! :)
@olagiwa3200
@olagiwa3200 4 жыл бұрын
Thank you! I'm new to this library and its helping alot.
@SigmaCoding
@SigmaCoding 4 жыл бұрын
Glad it was helpful!
@izh4998
@izh4998 5 жыл бұрын
Hey bro that's an awesome vedio , and as the way you speak is clearly for non-native English speaker , keep going ! btw , do you have vedio about APPium ?
@SigmaCoding
@SigmaCoding 5 жыл бұрын
I have not but I just looked it up and have added it to my list of topics I want to cover. I love the idea of automating mobile devices and they even have a Python client!
@annarocha9769
@annarocha9769 2 жыл бұрын
This is great, thank you sooooo much!🙏🙏🙏
@ib405
@ib405 5 жыл бұрын
Thank you very much. This is awesome. Could you please provide the list of options mentioned @8:48? Thanks
@SigmaCoding
@SigmaCoding 5 жыл бұрын
Here is a link to all the Chrome Option commands. Just an FYI there are a lot. *peter.sh/experiments/chromium-command-line-switches/*
@ashmitsharma9096
@ashmitsharma9096 4 жыл бұрын
Yay! Zero dislikes.
@briankhargrove
@briankhargrove 4 жыл бұрын
Can you do this using a notebook in Google Colaboratory? Don't know where the exec gets installed when I try it so it doesn't work.
@Jatin19902
@Jatin19902 4 жыл бұрын
Hi, I just discovered your channel. Loving it so far. I have one question what if an element doesn't have an ID. For example, I want to 1) visit site, 2) click on a button, a pop up will appear 3) type the message in that pop-up box and 4) click the send button and 5) close the pop-up. Here I am stuck at two things in step 1) there is no ID of the button element, upon chrome inspecting all it says is this "" and in step 5) when I inspect the X to close the pop up it shows "". Any idea/tutorial that you can point me to. Thank you.
@ghee-air-moe5775
@ghee-air-moe5775 4 жыл бұрын
You're my hero!
@lamedame1213
@lamedame1213 2 жыл бұрын
Just as a heads up, for the clicking the login button the id changes with every refresh so hard coding the id will not work
@CromerRick
@CromerRick 4 жыл бұрын
I had this working on another computer, moved it to another computer several weeks later. Copied chromedriver.exe into my referenced path (version matches current chrome browser version) and pip install splinter --user from and admin cmd window and I can't get this running. Below is the error that I get. Is it possible that the splinter package has a bad version released? Python 3.7.7 selenium-3.141.0.dist-info splinter-0.13.0.dist-info Windows v7 Running from a new install, then ran conda update --all I'm only using the root environment --------------------------------------------------------------------------- UnboundLocalError Traceback (most recent call last) in 8 9 # create a new instance of the chrome browser, by default it's Firefox ---> 10 browser = Browser('chrome', **executable_path, headless = False, options = options) 11 12 browser.visit("www.facebook.com") ~\AppData\Roaming\Python\Python37\site-packages\splinter\browser.py in Browser(driver_name, retry_count, *args, **kwargs) 88 raise DriverNotFoundError("No driver for %s" % driver_name) 89 ---> 90 return get_driver(driver, *args, **kwargs) ~\AppData\Roaming\Python\Python37\site-packages\splinter\browser.py in get_driver(driver, retry_count, *args, **kwargs) 66 pass 67 ---> 68 raise e 69 70 UnboundLocalError: local variable 'e' referenced before assignment -------------------------------------- Also double clicked on my chromedriver.exe to see what happens and I'm guessing this looks normal Starting ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-ref s/branch-heads/4147@{#310}) on port 9515 Only local connections are allowed. Please see chromedriver.chromium.org/security-considerations for suggest ions on keeping ChromeDriver safe. ChromeDriver was started successfully.
@allankanaiya3775
@allankanaiya3775 4 жыл бұрын
im getting this error class NoAppException(click.UsageError): AttributeError: module 'click' has no attribute 'UsageError' idk what to do
@craigsnyder3136
@craigsnyder3136 5 жыл бұрын
very nice
@MalcolmNewton
@MalcolmNewton 5 жыл бұрын
Is there a splinter for python3 ? python2 eol jan 2020
@TheLuckycharms125
@TheLuckycharms125 4 жыл бұрын
Hey @Sigma Coding , So Is "Jupyter" your preferred Compiler for Python? Or what is it because you never really explained it or what you are writing the code in. Like I have "Anaconda" and "Visual Studios" for example that I can compile Python in. How would these work for the TD Ameritrade API creation? Any suggestions?
@SigmaCoding
@SigmaCoding 4 жыл бұрын
I would push you towards Visual Studio Code, it's lightweight and easy to use. Also, there is additional functionality like debugging, source control, and much more.
@TheLuckycharms125
@TheLuckycharms125 4 жыл бұрын
@@SigmaCoding thanks for the response. LASTLY, do you know of a backtesting method to use your TD Ameritrade API's, algorithms etc. on? Before using them with a live account with real money? If so, could you do a video on testing your progams out with real trades ?
@NextUpBBall
@NextUpBBall 5 жыл бұрын
Can you make a video on how to use GoogleMaps API to plot coordinates from a csv?
@SigmaCoding
@SigmaCoding 5 жыл бұрын
I will put it on the list, thanks for the suggestion.
@josephlage6628
@josephlage6628 4 жыл бұрын
Getting the error below on Mac. Not sure if there's something different? Thanks File "", line 14 browser = Browser('chrome', **executable_path, headless = False, options = options) ^ SyntaxError: invalid syntax
@josephlage6628
@josephlage6628 4 жыл бұрын
It appears I'm using a different version of splinter.. rearranged the parameters below and it worked for anybody else that runs into this issue. browser = Browser('chrome',headless=False, options = options, **executable_path)
@cclo84
@cclo84 4 жыл бұрын
How to setup executable_path in Google Colab?
@cinji1218
@cinji1218 5 жыл бұрын
I tried saving my log-in information in a separate file like you said, but every time I tried importing the file or calling my two variables (username and password), it gives me errors. I tried four different methods to import the file. Both my script and log-in file are in the same directory. Someone mention it might be a working environment issue involving modules or packages, so I tried to look those up, but I still don't get it.
@SigmaCoding
@SigmaCoding 5 жыл бұрын
Sometimes the environment will cause an issue. Are you using Anaconda?
@cinji1218
@cinji1218 5 жыл бұрын
@@SigmaCoding Yes, I am using Anaconda. Since the file is small, I ended up deleting all traces of the file in my system, refreshed my kernel, and recreating the file. I was also advised to add sys.path.append into my main script and add __init__.py into my python directory. I knew how to do analysis in python, but I didn't know about the module/package/directory stuff. Would be nice if I could find a video about that. It works now. Thanks.
@SigmaCoding
@SigmaCoding 5 жыл бұрын
Well I'm glad you were able to get it to work, but I'm surprised you had to go through so many steps to get it to work. All you were doing was importing a few variables into to your script, I'm surprised it was giving you such difficulty.
@jameshoward8342
@jameshoward8342 5 жыл бұрын
Need a little help on this, please. Started by installing Anaconda. Installed Splinter as shown in video. Commands showed installing both Splinter and Selenium. Put Chomedriver in C:\TDApp and referenced same in executable_path assignnment. Receiving below error: from splinter import Browser from selenium import webdriver #device path to chrome driver executable_path = {'executable_path':r'C:\TDApp\chromedriver'} # set some default behaviors for browser option = webdriver.chromeoptions() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) in 4 5 # set some default behaviors for browser ----> 6 option = webdriver.chromeoptions() 7 AttributeError: module 'selenium.webdriver' has no attribute 'chromeoptions' Can you assist?
@jameshoward8342
@jameshoward8342 5 жыл бұрын
Thought I had it by adding .exe to the chromedriver path chromedriver.exe. and capitalized ChromeOptions)() Executed it and is passed. Then it just started with an error name 'webdriver' is not defined, but this just ran a few seconds ago?????
@SigmaCoding
@SigmaCoding 5 жыл бұрын
Sorry, I'm a little confused now. Is it not working or is it still causing issues? If it's not working, is it because it's giving an error saying their is no variable named "webdriver"? If it's easier just send your code to *coding.sigma@**gmail.com*
@craigsnyder3136
@craigsnyder3136 5 жыл бұрын
Are you running splinter in python2 or 3? My first attempts at this failed importing splinter in python3. 2 works. - Looking at splinter.readthedocs.io/en/latest/tutorial.html it says only for python2. - Looking at pypi.org/project/splinter/ it says good for 2 and 3 Running on linux mint
@SigmaCoding
@SigmaCoding 5 жыл бұрын
I am running it on Python 3.7, so it should work on yours. I know sometimes Splinter doesn't install correctly so there can be some issues with the package dependencies. I usually tell people to uninstall it & sometimes Selenium and then just install Splinter. Splinter will install selenium for you as it is a dependency. I doubt it has anything to do with Linux, I had some students of mine install it on that operating system no problem.
@AlexeyZubkov
@AlexeyZubkov 3 жыл бұрын
how to deal with 2 step auth?
@cinji1218
@cinji1218 5 жыл бұрын
This is really good content, but is there a way to replicate this for R?
@SigmaCoding
@SigmaCoding 5 жыл бұрын
So I did some research and saw that R has a library for Selenium, so you should be able to replicate everything you do with it in Python. Unfortunately, I haven't used R heavily so I'm not sure how that code would look like. I did find a nice blog that goes over how to use it. You should check it out. www.r-bloggers.com/scraping-with-selenium/
@cinji1218
@cinji1218 5 жыл бұрын
@@SigmaCoding Thanks.
@songliu1304
@songliu1304 4 жыл бұрын
Can you show us the format of your config file ? is it something like {name: myname; password: mypassword} Thanks!
@SigmaCoding
@SigmaCoding 4 жыл бұрын
It's even simpler :) username = "my_username" password = "my_password"
@yaboiiprettyeyez
@yaboiiprettyeyez 4 жыл бұрын
@@SigmaCoding can you show example of how to add the config file to the correct file path? thanks
@yaboiiprettyeyez
@yaboiiprettyeyez 4 жыл бұрын
@@SigmaCoding Also, do we import the "configparser" to create the config file?
@_xylotus_
@_xylotus_ 4 жыл бұрын
Why are you doing it so complex? You dont need to define so many valuables you can just merge 3 code lines of yours to 1. Its really bad for learning tbh
@SigmaCoding
@SigmaCoding 4 жыл бұрын
You're right there are definitely ways to condense the code. I've seen people aggregate multiple chrome options into a single argument and then pass that through to the Browser object. I've also seen them do things like specifying different capabilities at the same time and then pass it all in at once. Most of the time, when I'm laying the code I'm not going for the most condensed version but instead the version that flows logically. That way when someone sees it they understand what's going on at each part. However, sometimes this isn't always the best approach when developing because then the code becomes clunky. That's why sometimes I'll go back and revise some of the code to make it more condense or remove "redundancies". I guess it comes down to personal choice sometimes, I usually try to be more explicit while others might not try to be and usually try to condense it.
@_xylotus_
@_xylotus_ 4 жыл бұрын
@@SigmaCoding Sorry if that sounded mean. I was kinda annoyed cuz I couldnt find any good dog, But yours helped me out alot. Btw if you have discord you can add me here: Lotus#1095 would be cool to have a coding mate
@SigmaCoding
@SigmaCoding 4 жыл бұрын
No need to apologize, we are all entitled to our opinions and we should be able to express them in a respectful manner. I didn't see anything wrong with how you approached it. I actually don't use Discord, but I have a Facebook page where you can message me or you can email me. I've provided both below: EMAIL: coding.sigma@gmail.com FACEBOOK: facebook.com/codingsigma
Using Pathlib in Python
29:34
Sigma Coding
Рет қаралды 12 М.
15 Python Libraries You Should Know About
14:54
ArjanCodes
Рет қаралды 406 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 36 МЛН
Vim Tips I Wish I Knew Earlier
23:00
Sebastian Daschner
Рет қаралды 81 М.
Try This if You Don’t Like Python’s Exception Handling
21:27
Python Logging: How to Write Logs Like a Pro!
11:02
ArjanCodes
Рет қаралды 182 М.
Python Selenium Tutorial - Automate Websites and Create Bots
36:42
Tech With Tim
Рет қаралды 270 М.
7 Design Patterns EVERY Developer Should Know
23:09
ForrestKnight
Рет қаралды 86 М.
Web automation in python for beginners
11:02
Hitesh Choudhary
Рет қаралды 549 М.
Avoid Leaking User Data In Your SvelteKit App
24:31
Joy of Code
Рет қаралды 5 М.
TD Ameritrade API Part 2: Authenticating with Python and tda-api
10:56
Part Time Larry
Рет қаралды 30 М.