无法在python selenium脚本

时间:2017-01-13 10:14:13

标签: python selenium

我正在尝试在以下文本框中输入注释,详细信息为

<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)

1 个答案:

答案 0 :(得分: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()