Определенная переменная, показывающая NameError, когда она используется с .click () - PullRequest
0 голосов
/ 03 февраля 2020

на самом деле я пытаюсь построить бота, но получаю необычную ошибку, что мой fbb_btn не определен и показывает NameError в cmd.

from selenium import webdriver
from time import sleep

from secrets import username, password

class Webot:
    def __init__(self):
        self.driver=webdriver.Chrome()

    def login(self):
        self.driver.get('https://tinder.com')  

        sleep(2)

        fbb_btn= self.driver.find_element_by_xpath('//*[@id="content"]/div/div[1]/div/div/main/div/div[2]/div[2]/div/div/span/div[2]/button')

        fbb_btn.click()

fbb_btn.click () Traceback (последний вызов был последним): файл "", строка 1, в NameError: имя 'fbb_btn' не определено

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Я думаю, что вы даете неправильный x-путь, нет элемента с этим x-path на facebook.com

существует только x-путь до '// * [@ id = "content"] / div / div 1 / div / div '

X-путь для кнопки входа в систему: // * [@ id = "u_0_4"]

X-путь для кнопки входа в систему: // * [@ id = "u_0_13"]

Image that x-path do't exist

0 голосов
/ 03 февраля 2020

Видя вашу ошибку, кажется, что xpath, который вы упомянули, чтобы найти объект для "fbb_btn", не может найти кнопку по коду.

Попробуйте написать xpath, используя атрибуты. Вы можете найти, как написать dynamici c xpath, используя атрибуты, чтобы преодолеть эту проблему.

Это причина, по которой он выдает ошибку, поскольку 'fbb_btn' не определено, так как значение установлено как "None", потому что задано xpath не найден на веб-странице.

...