2017-01-13 4 views
0

Я пытаюсь ввести комментарий в следующем текстовом поле с деталями, какНевозможно ввести текст в текстовом поле в питон селеном сценария

<input type="text" name="com_data" value="" size="40"> 

Я попытался следующие:

driver.find_element_by_class_name("Comment:").send_keys("hello") 
# driver.find_element_by_name('btnSubmit').click() 
# driver.find_element_by_name("com_data").send_keys("hello smirajka") 
driver.find_element_by_xpath("//input[@name='com_data']").send_keys("hello") 

Все вышеперечисленные попытки не увенчались успехом с сообщением об ошибке, как:

raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name='com_data']"} 
    (Session info: chrome=55.0.2883.95) 
    (Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.11.6 x86_64) 
+0

Этот элемент находится в раме? – iFlo

+0

Да, это внутри рамки. – Simmi

+0

Итак, ваша проблема в том, что вам нужно попасть в кадр, прежде чем найти элемент. См. Этот http://stackoverflow.com/questions/20069737/how-to-identify-and-switch-to-the-frame-in-selenium-webdriver-when-frame-does-no – iFlo

ответ

0

Для обработки элемент внутри iframe , Попытайтесь переключиться на эту iframe, прежде чем отправить текст:

driver.switch_to_frame('iframe_id_or_name') 
driver.find_element_by_xpath("//input[@name='com_data']").send_keys("hello") 

Если нет id/name набор для iframe:

driver.switch_to_frame(driver_find_element_by_tag_name('iframe')) 

Если несколько iframe элементов на странице, вы можете получить к ним доступ индекс:

driver.switch_to_frame(driver_find_elements_by_tag_name('iframe')[0]) 

чтобы переключиться обратно вам, возможно, потребуется использовать:

driver.switch_to_default_content() 
Смежные вопросы