Почему функция send_keys не работает в Python Selenium?

#python #selenium #sendkeys

#питон #селен #отправить ключи

Вопрос:

У меня проблема с моим кодом.

 for photolink in all_links:   self.browser.get(photolink) #Link öffnen  time.sleep(random.randint(5, 6))   #liken  self.browser.find_element_by_xpath('//*[@id="react-root"]/section/main/div/div[1]/article/div/div[2]/div/div[2]/section[1]/span[1]/button').click()  time.sleep(random.randint(1, 3))   #kommentieren  commentbox = self.WaitforObject(By.CLASS_NAME,"Ypffh")  commentbox.click()  time.sleep(random.randint(1, 2))   #commentbox.send_keys(self.config.Random_Comment())  commentbox.send_keys("Test")  commentbox.send_keys(Keys.ENTER)  time.sleep(random.randint(3, 5))   c = c   1  print("Liked ", c, " photos")   time.sleep(random.randint(1, 3))  

Это работает до commentbox = self.WaitforObject(By.CLASS_NAME,"Ypffh") тех пор , пока курсор не окажется в текстовом поле. Но, когда я хочу написать что-то с помощью send_keys, оно ломается.

Скриншот

Комментарии:

1. Есть несколько причин не работать, если кто-то попытается понять это из вопроса. Но вы можете сузить круг этих причин, указав точное сообщение об ошибке в своей консоли. Это может быть что-то вроде исключения тайм-аута, исключения nosuchelementexx и т. Д.

2. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.

Ответ №1:

  1. Убедитесь, что вы импортировали библиотеку ключей из selenium

    from selenium.webdriver.common.keys import Keys

  2. используйте элемент поиска по xpath (если вы используете xpath для отправки ключей, вам не нужно сначала нажимать на него)

    commentbox = self.browser.find_element_by_xpath("xpath here")

    commentbox.send_keys("blah blah blah")

Возможно, вам также придется нажать на кнопку «Опубликовать» вместо использования клавиш.входить