SELENIUM find_element_by_xpath возвращает объект «функция» не имеет атрибута - PullRequest
0 голосов
/ 23 января 2019

Попытка создать инстаграм бота для автоматического лайкера. Браузер запускается и входит на указанную веб-страницу, а позже я получаю следующую ошибку Объект 'function' не имеет атрибута 'clear'

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

class InstagramBot:

    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.driver = webdriver.Firefox()

    def closeBrowser(self):
        self.driver.close()

    def login(self):
        driver = self.driver
        driver.get("https://www.instagram.com/accounts/login/?hl=en")
        time.sleep(2)
        user_name_elem = driver.find_element_by_xpath
        ("//input[@name='username']")
        user_name_elem.clear()
        user_name_elem.send_keys(self.username)
        passworword_elem = driver.find_element_by_xpath
        ("//input[@name='password']")
        passworword_elem.clear()
        passworword_elem.send_keys(self.password)
        passworword_elem.send_keys(Keys.RETURN)
        time.sleep(2)


ig = InstagramBot("username", "password")
ig.login()

1 Ответ

0 голосов
/ 23 января 2019

Вы упомянули в комментарии, что разбили

user_name_elem = driver.find_element_by_xpath("//input[@name='username']")

на две строки.Это проблема.когда вы сделали следующее

user_name_elem = driver.find_element_by_xpath
("//input[@name='username']")

Эти две строки выполнялись отдельно.Таким образом, user_name_elem стал псевдонимом для find_element_by_xpath
Вместо этого сделайте это для перевода строки

user_name_elem = driver.find_element_by_xpath \
    ("//input[@name='username']")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...