0

我正在尝试熟悉硒。我决定尝试与 合作facebook,并与selenium. 但是他们用的太多了ajax。实现我的家乡之类的不是很复杂,但是我真的不知道如何上传图片。他们有一个ajax表格可以在上传和网络摄像头照片之间进行选择。然后我需要以某种方式处理上传对话框......有什么想法吗?

4

1 回答 1

1

好吧……这比我想象的要容易得多。我所需要的只是等到加载了文件输入的ajax框,然后才send_keys使用图像位置。

        try:
            self.driver.find_element(By.CLASS_NAME, u"sx_53a53c").click()
            WebDriverWait(self.driver, 10).until(ec.presence_of_element_located((By.CLASS_NAME, u"fbTimelineSelectorFileInput")))
            WebDriverWait(self.driver, 10).until(ec.presence_of_element_located((By.NAME, u"pic")))
            self.driver.find_element(By.NAME, u"pic").send_keys("~/Downloads/z_ed6e1de4.jpg")
        except NoSuchElementException as nse:
            print 'Error. Element not found! '.format(nse.message)
        except:
            print "Something went wrong."
            import traceback
            type_, value_, trace_ = sys.exc_info()
            print traceback.format_tb(trace_)
于 2013-10-09T13:52:50.893 回答