seandablack / kelloggbot Goto Github PK
View Code? Open in Web Editor NEWKellogg bad | Union good | Support strike funds
License: GNU General Public License v3.0
Kellogg bad | Union good | Support strike funds
License: GNU General Public License v3.0
FAILED TO FILL OUT APPLICATION AND SUBMIT: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="109:topBar"]"}
(Session info: chrome=96.0.4664.93)
This isn't an issue per se, but if there are multiple submissions from the same ip address, it's likely they can just filter for non-unique on their database and drop those submissions.
Good work so far!
I had some issues installing on Ubuntu/Mint and figured I'd share in case the maintainers here feel it's worth updating the readme.
Chrome
LaTeX
texlive-full
that it worked. It may be that this is overkill, but wasn't sure.Thank you, this is awesome BTW.
You might be interested in the fact you both hit front page on Hacker News ๐ and got a free code review ๐
https://news.ycombinator.com/item?id=29511616
Fun project idea!
`FAILED TO START DRIVER: Message: element not interactable: element has zero size
(Session info: chrome=96.0.4664.93)
Traceback (most recent call last):
File "C:\Users\14143\PycharmProjects\KelloggBot\main.py", line 285, in main
fill_out_application_and_submit(driver, random_city, fake_identity)
File "C:\Users\14143\PycharmProjects\KelloggBot\main.py", line 166, in fill_out_application_and_submit
driver.implicitly_wait(10)
File "C:\Users\14143\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 911, in implicitly_wait
self.execute(Command.SET_TIMEOUTS, {
File "C:\Users\14143\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\14143\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSessionIdException: Message: invalid session id
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\14143\PycharmProjects\KelloggBot\main.py", line 297, in
main()
File "C:\Users\14143\PycharmProjects\KelloggBot\main.py", line 289, in main
driver.close()
File "C:\Users\14143\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 688, in close
self.execute(Command.CLOSE)
File "C:\Users\14143\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\14143\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSessionIdException: Message: invalid session id
FAILED TO CREATE ACCOUNT: Message: invalid session id
FAILED TO FILL OUT APPLICATION AND SUBMIT: Message: invalid session id
Process finished with exit code 1
`
I see you have no LICENSE file for this project. The default is copyright.
I would suggest releasing the code under the GPL-3.0-or-later or AGPL-3.0-or-later license so that others are encouraged to contribute changes back to your project.
Lines 134 & 135 occasional throw a "no such element" error, which breaks the main while loop and exits the script. I fixed it by putting a simple try/except block around lines 131-172. Didn't make a pull request cause there's definitely a better solution.
Session info: chrome=96.0.4664.93, macOS Monterey v12.0.1
In light of today's news, is anyone involved in forking this project for a Starbucks-specific re-write? Or is there any other projects working on something similar? Seems like now would be a good time to get on top of it, since the location that fired the workers will likely be trying to hire scabs soon. Thoughts?
I just got this set up this morning, but I noticed that every single generated phone number has an extension. May want to change that up.
love what you've done here. am rearchitecting to make easier to extend for other unions in the future with some prior webscraping code i've written. absolutely LOVE the resume generator. would love to work together, solidarity forever <3
I'm on a mac, I have everything installed and set up. When I run the bot, and it goes to create an account, I get this error message: FAILED TO CREATE ACCOUNT: list index out of range
What am I doing wrong?
The striking workers have come to an agreement with kelloggs. We can still work on this as a more general bot (see #56), but for now, we have succeeded.
The salary range question on the application is given a random number between 15 and 35, could this be done in a more convincing way? I'm assuming it was written with the thought that "15" means "I expect a salary of $15,000." But then why wouldn't it just be 15000?
It's also asks for "Salary Range," so maybe we should be inputting something like "$25,000-$30,000" or "20k-25k"
Also, I don't think anyone is looking specifically for a salary of "17k" or "31k", I feel like it should be multiples of 5k
This is on Debian Sid, so technically unsupported regardless, but perhaps the fix will be something simple.
When using either python
which seems to be the correct python version based on the README, or python3
, I get syntax errors, yet they're different depending on the version of python used. I don't know python well enough yet to say why this is happening, but perhaps you'll have an idea.
python
== Python 2.7.18
File "req.py", line 11
print = functools.partial(print, flush=True)
^
SyntaxError: invalid syntax
python3
== Python 3.9.9
python3 req.py
File "/home/valence/src/KelloggBot/req.py", line 75
match key:
^
SyntaxError: invalid syntax
This seems much harder to get around, yeah?
Per code review https://news.ycombinator.com/item?id=29511616
It's probably a good idea to allow this to be compatible with headless firefox.
Emails used to generate accounts are already registered with Kellogg's. Program execution stops at this point.
Throwing an issue found during development of #25 here. Recaptcha seems not to like Chrome's headless browser/
<div style="">
<div>
<div>
<div class="rc-doscaptcha-header">
<div class="rc-doscaptcha-header-text" style="font-size: 22px;">Try again later</div>
</div>
<div class="rc-doscaptcha-body">
<div class="rc-doscaptcha-body-text" tabindex="0" style="font-size: 16px;">Your computer or network
may be sending automated queries. To protect our users, we can\'t process your request right
now. For more details visit <a
href="https://developers.google.com/recaptcha/docs/faq#my-computer-or-network-may-be-sending-automated-queries"
target="_blank">our help page</a>.</div>
</div>
</div>
<div class="rc-doscaptcha-footer">
<div class="rc-footer">
<div class="rc-separator"></div>
<div class="rc-controls">
<div class="primary-controls">
<div class="rc-buttons">
<div class="button-holder reload-button-holder"><button
class="rc-button goog-inline-block rc-button-reload rc-button-disabled"
title="Get a new challenge" value="" id="recaptcha-reload-button"
disabled=""></button></div>
<div class="button-holder audio-button-holder"><button
class="rc-button goog-inline-block rc-button-audio rc-button-disabled"
title="Get an audio challenge" value="" id="recaptcha-audio-button"
disabled=""></button></div>
<div class="button-holder image-button-holder"><button
class="rc-button goog-inline-block rc-button-image rc-button-disabled"
title="Get a visual challenge" value="" id="recaptcha-image-button" disabled=""
style="display: none;"></button></div>
<div class="button-holder help-button-holder"><button
class="rc-button goog-inline-block rc-button-help rc-button-disabled"
title="Help" value="" id="recaptcha-help-button" disabled=""></button></div>
<div class="button-holder undo-button-holder"><button
class="rc-button goog-inline-block rc-button-undo" title="Undo" value=""
id="recaptcha-undo-button" tabindex="0" style="display: none;"></button></div>
</div>
<div class="verify-button-holder"><button
class="rc-button-default goog-inline-block rc-button-default-disabled" title=""
value="" id="recaptcha-verify-button" disabled="">Verify</button></div>
</div>
<div class="rc-challenge-help" style="display:none" tabindex="0"></div>
</div>
</div>
</div>
</div>
</div>
You can write a GitHub Action that generates a new resume with a new filename and different content so that it's not flagged by the file being the same and having the exact same hash.
File not found?
I'm on Windows 11 using Python 3.10.0
Here's a portion of my logs:
Please use find_element() instead
driver.find_element_by_xpath(CREATE_AN_ACCOUNT_BUTTON).click()
USING GUERRILLA TO CREATE EMAIL
EMAIL CREATED
C:\Users\kyler\KelloggBot\main.py:88: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
driver.find_element_by_xpath(XPATHS_2.get(key)).send_keys(info)
C:\Users\kyler\KelloggBot\main.py:91: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
select = Select(driver.find_element_by_id(COUNTRY_REGION_CODE_LABEL))
C:\Users\kyler\KelloggBot\main.py:93: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
select = Select(driver.find_element_by_id(COUNTRY_REGION_OF_RESIDENCE_LABEL))
C:\Users\kyler\KelloggBot\main.py:96: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
driver.find_element_by_xpath(READ_ACCEPT_DATA_PRIVACY_STATEMENT_ANCHORTAG).click()
C:\Users\kyler\KelloggBot\main.py:98: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
driver.find_element_by_xpath(ACCEPT_BUTTON).click()
C:\Users\kyler\KelloggBot\main.py:101: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
driver.find_element_by_xpath(CREATE_ACCOUNT_BUTTON).click()
C:\Users\kyler\KelloggBot\main.py:122: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
driver.find_element_by_xpath(VERIFY_EMAIL_INPUT).send_keys(passcode)
C:\Users\kyler\KelloggBot\main.py:123: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
driver.find_element_by_xpath(VERIFY_EMAIL_BUTTON).click()
successfully made account for fake email [email protected]
FAILED TO FILL OUT APPLICATION AND SUBMIT: [WinError 2] The system cannot find the file specified
I am using the latest master branch version.
So I was trying to install and run KelloggBot, and I believe I have everything set up, all the files in the proper PATH, and such. Upon running python main.py in CMD, I get this:
`DevTools listening on ws://127.0.0.1:1684/devtools/browser/68f9b174-8099-4da8-80d1-689e36fae52b
FAILED TO START DRIVER: Message: session not created: This version of ChromeDriver only supports Chrome version 87
Current browser version is 96.0.4664.110 with binary path C:/Users/%username%/AppData/Local/Google/Chrome/Application/chrome.exe
USING GUERRILLA TO CREATE EMAIL
EMAIL CREATED
FAILED TO CREATE ACCOUNT: local variable 'driver' referenced before assignment
FAILED TO FILL OUT APPLICATION AND SUBMIT: local variable 'driver' referenced before assignment
Traceback (most recent call last):
File "C:\Users\%username%\Downloads\KelloggBot-main\main.py", line 276, in main
fill_out_application_and_submit(driver, random_city, fake_identity)
UnboundLocalError: local variable 'driver' referenced before assignment
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\%username%\Downloads\KelloggBot-main\main.py", line 288, in
main()
File "C:\Users\%username%\Downloads\KelloggBot-main\main.py", line 280, in main
driver.close()
UnboundLocalError: local variable 'driver' referenced before assignment`
I'm not sure what they are referring to by Chrome version 87. I do have an old version of Chrome for playing Flash games still, installed as a portable version in my downloads folder.
Sorry for the dumb question, but I was wondering if I could have a hand. Thanks, I hope you have a great rest of the day, whoever is reading this :-)
Thinking it might help obfuscate applications if each resume is custom and aligns with the rest of the data present. Willing to work on it just want to know if its something worth completing first
failed to fill out app and submit: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="109:topBar"]"}
Currently it seems like it would be fairly easy to set up an automated system to detect the fake email addresses this uses, for example the first four I got were all either example.org
or example.net
addresses, it might be worth it to throw in some more domains into the mix to throw a wrench in that.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.