我有一个挑战,我花了一些时间来解决.
Selenium告诉我,它无法点击不可见的链接,这意味着我需要滚动我的画布?我使用的是ubuntu 10,firefox 3,selenium 0.1,ruby 1.9.2和selenium-webdriver 2.5.0
我的代码是
driver = Selenium::WebDriver.for :firefox;
driver.get login_url
wait = Selenium::WebDriver::Wait.new(:timeout => 2)
wait.until {
driver.find_element(:name => 'j_password')
}
driver.find_element(:name => 'j_username').send_keys(username)
driver.focus(:name => 'j_username')`
Run Code Online (Sandbox Code Playgroud)
它说focus()没有定义.我应该如何修改我的代码以将输入元素放在屏幕上?
嗯,这是一个假设的例子,我真的需要滚动才能在屏幕上显示其他元素,但为了简单起见,我希望能够滚动屏幕上的任何元素,甚至
location_once_scrolled_into_view用ruby滚动.
根据您的问题,您的元素不可见,因此selenium Web驱动程序无法单击它.
对此的简单解决方案是:
例如代码:
element = dirver.find_element(:xpath, "xpath of nearby visible element")
element.location_once_scrolled_into_view
my_element = driver.find_element(:xpath, "xpath of your element")
my_element.click
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9525 次 |
| 最近记录: |