2015-08-25 2 views
1

Я пытаюсь найти текстовое поле в своей группе facebook. Вход в систему одобрен, driver.get(group) тоже в порядке, но затем, когда я пытаюсь найти текстовое поле, он возвращает, что он не может его найти. Странно, что я ясно вижу это там.Не удается найти элемент - Selenium

def send_post(self,text,group): 
     assert self.logged == True 
     self.driver.get(group) 
     text_field = self.driver.find_element_by_css_selector('div.innerWrap').find_element_by_tag_name('xhpc_message_text') 
     text_field.send_keys(text) 
     self.driver.find_element_by_xpath("//button[@value='1']").click() 

Знаете ли вы, что я делаю неправильно? У вас есть лучший способ опубликовать в группе fb?

+0

Ваш 'text_field = self.driver.find_element_by_css_selector ('div.innerWrap') find_element_by_tag_name ('xhpc_message_text')' выглядит немного странно для меня (вы найти элемент, затем нахождение элемента). Есть ли особая причина, почему вы это делаете? Вы пытались использовать только 'find_element_by_tag_name ('xhpc_message_text')' или возможно найти его по имени своего класса? – Tyler

ответ

0

xhpc_message_text не является тегом; textarea есть.

Если вы говорите о написании сообщения <textarea>, то у него есть атрибут name (другой!) xhpc_message_text. Вы можете объединить find_element_by_* звонки в одно:.

text_field = self.driver.find_element_by_css_selector('div.innerWrap [name="xhpc_message_text"]') 
+0

Спасибо, это работает. Но я не могу нажать кнопку отправки. У меня было подозрение, что я не могу найти его правильно, поэтому я скопировал xpath, используя хром. Он действует так, как будто он нажал на эту кнопку, но никакой записи там не видно. – Curratos

+0

Рад, что это помогло. Вероятно, проблема с вашей кнопкой отправки требует отдельного вопроса, но сначала вы можете попробовать 'text_field.submit()' сначала в качестве альтернативы щелчку на кнопке в соответствии с руководством [этих документов] (http://selenium-python.readthedocs.org /navigating.html#filling-in-forms). (Если это не сработает, я бы определенно предложил опубликовать его как новый вопрос.) – myersjustinc

Смежные вопросы