Я использую гем Selenium Webdriver, чтобы попытаться нажать на панель чата facebook, иногда это работает, а иногда нет. Когда он не работает, он возвращает ошибку Selenium Element not visible, но он явно виден. Я не уверен, что не так с моим кодом.
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome # instantiates a google chrome session
driver.navigate.to 'https://www.facebook.com/' # takes you to facebook.com
emailBar = driver.find_element(:id,"email") #finds email input bar
passwordBar = driver.find_element(:id,"pass") #find password input bar
loginButton = driver.find_element(:id,"u_0_n") #finds login button
emailBar.send_keys "[email protected]" # puts in the email
passwordBar.send_keys "YOURPASSWORD" # puts in the password
loginButton.click # clicks the login button
#THIS IS THE CODE BLOCK THAT DOES NOT WORK
links = driver.find_elements(:class,"fbNubButton") # finds the chat bar
#driver.manage.timeouts.page_load = 10
links[0].click # opens the chat bar
links[1].click # NOTE that sometime it clicks and sometimes it doesn't but if you click both chat box classes it usually works, so the error is ok
Я пытался не нажимать на обе ссылки чата, и когда я это делаю, это работает хуже.
sleep (5)
, прежде чем нажимать . 5 секунд будет достаточно, чтобы DOM был готов. - person pkrawat1   schedule 23.01.2015