python+selenium,定位frame,始终报错

小马798 2018-12-06 03:23:26
定位frame,始终报错,请各位大神支援!

代码:

driver = webdriver.Chrome()
driver.get("https://www.126.com")
time.sleep(3)
driver.switch_to.frame('x-URS-iframe1544011763190.8416')
driver.find_element_by_name("email").send_keys("email-name")
time.sleep(3)
driver.quit()


报错信息:

Traceback (most recent call last):
File "/Users/admin/PycharmProjects/test/testDemo.py", line 8, in <module>
driver.switch_to.frame('x-URS-iframe1544011763190.8416')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/switch_to.py", line 68, in frame
self._driver.execute(Command.SWITCH_TO_FRAME, {'id': frame_reference})
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchFrameException: Message: no such frame
(Session info: chrome=70.0.3538.110)
(Driver info: chromedriver=2.43.600229 (3fae4d0cda5334b4f533bede5a4787f7b832d052),platform=Mac OS X 10.13.1 x86_64)

...全文
610 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
僧僧郑 2019-07-11
  • 打赏
  • 举报
回复
引用 5 楼 lwgege_123 的回复:
id值一直在变化,x-URS-iframe1544011763190.8416不一定是这个。只能换另外的定位方式!
楼主该用什么定位方式
  • 打赏
  • 举报
回复
id值一直在变化,x-URS-iframe1544011763190.8416不一定是这个。只能换另外的定位方式!
胖胖_44072128 2018-12-13
  • 打赏
  • 举报
回复
照葫芦画瓢试了下 然后自己照做 成功 # coding=utf-8 from selenium import webdriver import time dr = webdriver.Chrome() dr.get("https://www.126.com") time.sleep(3) i=dr.find_element_by_tag_name("iframe") dr.switch_to_frame(i) dr.find_element_by_name('email').send_keys("email-name")
MagicianLy 2018-12-12
  • 打赏
  • 举报
回复
直接就可以找到的东西,为啥需要你进去?
MagicianLy 2018-12-12
  • 打赏
  • 举报
回复

driver = webdriver.Chrome()
driver.get("https://www.126.com")
time.sleep(3)
driver.find_element_by_name('email').send_keys("email-name")
time.sleep(3)
driver.quit()
Rainy Chan 2018-12-09
  • 打赏
  • 举报
回复
frame需要先定位出来吧,传一个字符串进去真的对吗?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧