Python selenium won';t形开关架

Python selenium won';t形开关架,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,当我跑的时候 from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.speedyshare.com/") driver.switch_to.frame(0) elem = driver.find_element_by_id("selectfilebox") elem.click() 及 它们都保持运行,没有回溯,但鼠标停留在地址栏中 当我将fram索引更改为1时,我得到以下结果

当我跑的时候

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")

driver.switch_to.frame(0)

elem = driver.find_element_by_id("selectfilebox")
elem.click()

它们都保持运行,没有回溯,但鼠标停留在地址栏中

当我将fram索引更改为1时,我得到以下结果

Traceback (most recent call last):
  File "/home/ro/selem.py", line 6, in <module>
    driver.switch_to.frame(1)
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/switch_to.py", line 67, in frame
    self._driver.execute(Command.SWITCH_TO_FRAME, {'id': frame_reference})
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchFrameException: Message: Unable to locate frame: 1
Stacktrace:
    at FirefoxDriver.prototype.switchToFrame (file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/driver-component.js:10717)
    at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/command-processor.js:12617)
    at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/command-processor.js:12622)
    at DelayedCommand.prototype.execute/< (file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/command-processor.js:12564)
回溯(最近一次呼叫最后一次):
文件“/home/ro/selem.py”,第6行,在
驾驶员.切换至.车架(1)
文件“/usr/local/lib/python3.4/dist packages/selenium/webdriver/remote/switch_to.py”,第67行,在框架中
self._driver.execute(Command.SWITCH_TO_FRAME,{'id':FRAME_reference})
文件“/usr/local/lib/python3.4/dist packages/selenium/webdriver/remote/webdriver.py”,执行中的第201行
self.error\u handler.check\u响应(响应)
文件“/usr/local/lib/python3.4/dist packages/selenium/webdriver/remote/errorhandler.py”,第181行,在check_响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.NoSuchFrameException:消息:无法找到帧:1
堆栈跟踪:
在FirefoxDriver.prototype.switchToFrame(file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/driver component.js:10717)
在DelayedCommand.prototype.executeInternal\uh处(file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/command processor.js:12617)
在DelayedCommand.prototype.executeInternal\u(file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/command processor.js:12622)
在DelayedCommand.prototype.execute/<(file:///tmp/tmpyickpa63/extensions/fxdriver@googlecode.com/components/command processor.js:12564)

首先,您正在正确地切换到相应的
iframe

你的实际问题是,你不必点击上传框-它会触发一个你根本无法控制的文件上传弹出窗口

如果要上传文件,需要直接“发送密钥”文件输入:

upload_input = driver.find_element_by_css_selector("#selectfilebox input[type=file]")
upload_input.send_keys("/absolute/path/to/the/file/to/upload")
完整的工作代码:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")

driver.switch_to.frame(0)

upload_input = driver.find_element_by_css_selector("#selectfilebox input[type=file]")
upload_input.send_keys("/Users/user/Downloads/dr-evil-and-minion-laughing.png")

upload_button = driver.find_element_by_link_text("Upload")
upload_button.click()

首先,您正在正确地切换到相应的
iframe

你的实际问题是,你不必点击上传框-它会触发一个你根本无法控制的文件上传弹出窗口

如果要上传文件,需要直接“发送密钥”文件输入:

upload_input = driver.find_element_by_css_selector("#selectfilebox input[type=file]")
upload_input.send_keys("/absolute/path/to/the/file/to/upload")
完整的工作代码:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")

driver.switch_to.frame(0)

upload_input = driver.find_element_by_css_selector("#selectfilebox input[type=file]")
upload_input.send_keys("/Users/user/Downloads/dr-evil-and-minion-laughing.png")

upload_button = driver.find_element_by_link_text("Upload")
upload_button.click()