我们可以通过两种方式解决这个问题
在 Selenium with Ruby 中,您可以使用
execute_script
方法来运行滚动网页的 JavaScript 代码。以下是如何在 Ruby 中使用 Selenium 向下滚动的示例:
require 'selenium-webdriver'
# Set up the Selenium WebDriver
driver = Selenium::WebDriver.for :chrome
# Navigate to the webpage
driver.get("https://testwebsite.com")
# Scroll down the page
driver.execute_script("window.scrollBy(0, 500);")
# Wait for a few seconds to see the effect
sleep(rand(3..5))
# Close the browser
driver.quit
此示例使用 JavaScript 中的
window.scrollBy
方法将页面向下滚动指定的像素数(在本例中为 500 像素)。您可以根据您的要求调整值。
如果你想滚动到页面上的特定元素,可以使用
scrollIntoView
方法。例如:
require 'selenium-webdriver'
# Set up the Selenium WebDriver
driver = Selenium::WebDriver.for :chrome
# Navigate to the webpage
driver.get("https://testwebsite.com")
# Find the element you want to scroll to
element = driver.find_element(:id, 'exampleElement')
# Scroll to the element
driver.execute_script("arguments[0].scrollIntoView(true);", element)
# Wait for a few seconds to see the effect
sleep(rand(3..5))
# Close the browser
driver.quit
在此示例中,将
'exampleElement'
替换为要滚动到的元素的实际 ID 或其他定位器。 scrollIntoView
方法将元素滚动到浏览器窗口的可见区域。