Error with selenium-webdriver

I am getting error with “selenium-webdriver”. Any advice on that?

C:>gem --list
ERROR: Invalid option: --list. See ‘gem --help’.

C:>gem --help
RubyGems is a sophisticated package manager for Ruby. This is a
basic help message containing pointers to more information.

Usage:
gem -h/–help
gem -v/–version
gem command [arguments…] [options…]

Examples:
gem install rake
gem list --local
gem build package.gemspec
gem help install

Further help:
gem help commands list all ‘gem’ commands
gem help examples show some examples of usage
gem help platforms show information about platforms
gem help show help on COMMAND
(e.g. ‘gem help install’)
gem server present a web page at
http://localhost:8808/
with info about installed gems
Further information:
http://guides.rubygems.org

C:>gem list --local

*** LOCAL GEMS ***

bigdecimal (1.2.0)
childprocess (0.3.9)
ffi (1.4.0 x86-mingw32)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
multi_json (1.6.1)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
rubyzip (0.9.9)
selenium-webdriver (2.31.0)
test-unit (2.0.0.0)
websocket (1.0.7)

C:>irb --simple-prompt
DL is deprecated, please use Fiddle

require “selenium-webdriver”
LoadError: cannot load such file – ffi_c
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
require' from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require’
from
C:/Ruby200/lib/ruby/gems/2.0.0/gems/ffi-1.4.0-x86-mingw32/lib/ffi.r
b:12:in rescue in <top (required)>' from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ffi-1.4.0-x86-mingw32/lib/ffi.r b:3:in <top (required)>’
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
require' from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require’
from
C:/Ruby200/lib/ruby/gems/2.0.0/gems/childprocess-0.3.9/lib/childpro
cess/windows.rb:1:in <top (required)>' from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require’
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
require' from C:/Ruby200/lib/ruby/gems/2.0.0/gems/childprocess-0.3.9/lib/childpro cess.rb:176:in <top (required)>’
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
require' from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require’
from
C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.31.0/lib/s
elenium/webdriver.rb:1:in <top (required)>' from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require’
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
require' from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.31.0/lib/s elenium-webdriver.rb:1:in <top (required)>’
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:i
n require' from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:i n rescue in require’
from
C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:35:in
require' from (irb):1 from C:/Ruby200/bin/irb:12:in '>>

Please edit your posts to contain only the absolutely necessary
information.

Am 15.03.2013 18:23, schrieb Love U Ruby:

C:>gem --list
ERROR: Invalid option: --list. See ‘gem --help’.

C:>gem --help
RubyGems is a sophisticated package manager for Ruby. This is a
basic help message containing pointers to more information.

[loooong help message]

All of the above (half of your post) is completely irrelevant.

I tried selenium-webdriver with Ruby 2.0 as well and got the same error.
I don’t know whether it’s webdriver itself or some dependency which
isn’t working though.

It’s basically I means Ruby 2.0 is not working with
selenium-webdriver. When I wrote require ‘selenium-webdriver’,got the
above error. which is mentioned there.

Now I uninstall Ruby2.0 and reinstall Ruby 1.9.3, things now working.

So I wanted to know - if ruby 2.0 is compatible with selenium or not?

Thanks

So I’m certain you will follow none of the concepts shown below past 4
seconds after reading this but here goes yet again

On Fri, Mar 15, 2013 at 10:23 AM, Love U Ruby [email protected]
wrote:

I am getting error with “selenium-webdriver”. Any advice on that?

require “selenium-webdriver”
LoadError: cannot load such file – ffi_c

Now what do you think the people making ruby would do when they emit an
error called “cannot load such file”? Could that possibly mean anything
at
all with regards to a problem? I mean one must first actually read their
screen prior to sending off an email begging for yet more help.

Now lets assume one looked at that and had any thought of wanting to
solve
their problem.

Step 1 - find where ffi_c comes from - Google will be our friend

“ruby ffi_c”

Out first hit is a stack overflow question about this exact error - but
it’s old so it probably isn’t fully valid but it’s a step. Ok, so they
are
talking about back at the 1.1 vs 1.0.9 version of the gem and we are
currently at 1.4.0 on your system so it’s not that - but we now know
that
it’s the FFI gem. Google has done it’s job again

Next step - google “ruby ffi gem” - first hit is rubygems.org -
outstanding
again Google. Going to that page shows that we’ve got recent activity in
the FFI world - at that would be the release of the 1.4.1 and 1.5.0
gems.

We now know that 2 versions of the code exist past yours - that’s
outstanding because it means we might just have a possible fix already
packaged up for us.

Next, lets see what activity has been occurring in the source code - how
about we try that nice button marked “Source Code” on the RubyGems page.
That magically (via that great protocol called HTTP) brings us to
GitHub.com at the FFI source page. How about we see what the recent
commits
are shall we? That nice links called “1000+ commits” is the list of
commits
for the project. Pressing that reveals your EXACT answer - March 9th
2013,
“Add 2.0.0 binaries for win32” - you appear to be running win32 and
2.0.0
and I think that means that commit was for folks in your position. Now
we
look at the rest of the commits above it to see if we can determine what
version we might like - and looky there - March 10, 2013 “Bump version
to
1.5.0” - so which version do you think you might need to have a desire
to
have installed on your machine? Well to make it even simpler for you -
RubyGems lists the available versions - how about we go back there and
have
a look shall we? Looky there again - 2 big bright 1.5.0.pre1 gems all
nice
and pretty - you are running x86-mingw so you click on that nice link
under
the 1.5.0.pre1 link and you get a screen with a HUGE install right in
front
of you. That’s the command you type in your command screen and you will
have the nice shiny new version of FFI which may or may not help you.

2 Google searches, common sense, and an answer - I’ve done my
humanitarian
work for the day.

And before anyone starts talking about rudeness or talking down or
anything
else about this email - I had no knowledge of what the possible solution
would have been prior to reading that email - but I actually used Google
twice and common sense. Why anyone in their right mind would be on the
bleeding edge (2.0) without the desire or ability to at least try
something
along the lines of what I did is the problem - not anything to do with
any
tonality in this email

John

I was actually trying to write a script which will delete the files from
the webpage. But when I clicked on the delete button,one alert window is
coming to confirm finally before deletion.

So to handle this I wrote a code as below:

Part - I

alrt = Selenium::WebDriver::TargetLocator.new(driver).alert
alrt.accept

But then I was continually getting an error as below :

D:\Rubyscript\My ruby learning days\Scripts>W9_File_delete.rb
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdr
iver/common/alert.rb:9:in initialize': undefined method getAlertText’
for #
(NoMethodError)
from
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/s
elenium/webdriver/common/target_locator.rb:76:in new' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/s elenium/webdriver/common/target_locator.rb:76:in alert’
from D:/Rubyscript/My ruby learning
days/Scripts/W9_File_delete.rb:114:i
n `’

Now doing after too much research here :
http://www.rubydoc.info/gems/selenium-webdriver/frames

Finally I wrote the below :

part - II
driver.switch_to.alert.accept

and it works.

But If I followed the documentation I got the below:

#switch_to ~~>


File ‘lib/selenium/webdriver/common/driver.rb’, line 92

def switch_to
@switch_to ||= WebDriver::TargetLocator.new(bridge)
end

Which is the same I did to get an object of TargetLocator in part - I.
then on that object I called alert to create Alert object and then
finally accept using Alert object.

Now my question is Why part - I has failed?

What was the wrong with my code ?

Although I fixed my code,but as for knowledge purpose I think should
know the wrong.

Could anyone help me on that context?

The clue is this:
undefined method `getAlertText’
Find out where that’s coming from using the backtrace above.

As always, watir-webdriver is simpler:
driver.alert.ok

Can anyone help me with the above confusions?

Thanks