我用ruby脚本练习写从登陆到选择某些项之后,最后做提交操作,之前跑起来都顺利

Python011

我用ruby脚本练习写从登陆到选择某些项之后,最后做提交操作,之前跑起来都顺利,第1张

如果是弹出窗口页的话需要先把焦点转到这个窗口。

      ##

      #A helper method to wait the popup window to be closed

      #

      def wait_close_popup_window

        i=0

        while page.driver.browser.window_handles.size > 1

          sleep 0.3

          i = i+0.3

          if i > 3

            break

          end

        end

      end

      ##

      #A helper method to wait the popup window to be opened

      #

      def wait_open_popup_window

        i=0

        while page.driver.browser.window_handles.size < 2

          sleep 0.3

          i = i+0.3

          if i > 3

            break

          end

        end

      end

      

      ##

      #A helper method to simplify the operation of popup window

      #     AdminBase.popup_window{

      #       page.execute_script "window.close()"

      #     }

      #

      def popup_window

        wait_open_popup_window

        popup = page.driver.browser.window_handles.last

        within_window(popup) do

          yield

          wait_close_popup_window

        end

      end

      

把你需要在弹窗也处理的代码块替换yield就行了。

file = File.new(“testfile”, “r”)# … process the filefile.closetestfile是想要操作文件名,”r”说明了文件的操作模式为读取。可以使用”w”表示写入,”rw”表示读写。最后要记得关闭打开的文件,确保所有被缓冲的数据被写入文件,所有相关的资源被释放。也可以使用File.open来打开文件,open和new的不同是open可以使用其后的代码块而new方法则返回一个File类的实例。File.open(“testfile”, “r”) do |file|# … process the fileendopen操作的另一个优点是处理了异常,如果处理一个文件发生错误抛出了异常的话,那么open操作会自动关闭这个文件,下面是open操作的大致实现:class Filedef File.open(*args)result = f = File.new(*args)if block_given?beginresult = yield fensuref.closeendendreturn resultendend对于文件的路径,Ruby会在不同的操作系统间作转换。例如,在Windows下,/ruby/sample/test.rb会被转化为\ruby\sample\test.rb。当你使用字符串表示一个Windows下的文件时,请记住使用反斜线先转义: