selenium-webdriver
Rulla
Sök…
Introduktion
Detta ämne kommer att tillhandahålla flera metoder för hur man utför rullning med selenium
Bläddra med Python
1. Bläddra till målelementet ("BROWSE TEMPLATES" -knappen längst ner på sidan) med Actions
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
target = driver.find_element_by_link_text('BROWSE TEMPLATES')
actions = ActionChains(driver)
actions.move_to_element(target)
actions.perform()
2. Bläddra till målelementet ("BROWSE TEMPLATES" -knappen längst ner på sidan) med JavaScript
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
target = driver.find_element_by_link_text('BROWSE TEMPLATES')
driver.execute_script('arguments[0].scrollIntoView(true);', target)
3. Bläddra till målelementet ("BROWSE TEMPLATES" -knappen längst ner på sidan) med inbyggd metod
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
target = driver.find_element_by_link_text('BROWSE TEMPLATES')
target.location_once_scrolled_into_view
Observera att location_once_scrolled_into_view
också returnerar x
, y
koordinater för elementet efter rullning
4. Bläddra till botten av sidan med Keys
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
driver.find_element_by_tag_name('body').send_keys(Keys.END) # Use send_keys(Keys.HOME) to scroll up to the top of page
Observera att send_keys(Keys.DOWN)
/ send_keys(Keys.UP)
och send_keys(Keys.PAGE_DOWN)
/ send_keys(Keys.PAGE_UP)
också kan användas för rullning
Olika rullning med java på olika sätt
Nedan kan lösningen också användas på ett annat stöds programmeringsspråk med några syntaxförändringar
- Att göra Rulla ner sidan / sektionen / uppdelningen på webbsidan medan det finns anpassad rullningslista (inte webbläsarscroll). Klicka här för demo och kontrollera att rullfältet har sitt oberoende element.
I nedan angiven kod passerar du rullningslisten och kräver rullningspoäng.
public static boolean scroll_Page(WebElement webelement, int scrollPoints)
{
try
{
System.out.println("---------------- Started - scroll_Page ----------------");
driver = ExecutionSetup.getDriver();
dragger = new Actions(driver);
// drag downwards
int numberOfPixelsToDragTheScrollbarDown = 10;
for (int i = 10; i < scrollPoints; i = i + numberOfPixelsToDragTheScrollbarDown)
{
dragger.moveToElement(webelement).clickAndHold().moveByOffset(0, numberOfPixelsToDragTheScrollbarDown).release(webelement).build().perform();
}
Thread.sleep(500);
System.out.println("---------------- Ending - scroll_Page ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- scroll is unsucessfully done in scroll_Page ----------------");
e.printStackTrace();
return false;
}
}
- Att göra Rulla upp sida / sektion / uppdelning på webbsidan medan det finns anpassad bläddringsfält (inte webbläsarscroll). Klicka här för demo och kontrollera att rullfältet har sitt oberoende element.
I nedan angiven kod passerar du rullningslisten och kräver rullningspoäng.
public static boolean scroll_Page_Up(WebElement webelement, int scrollPoints)
{
try
{
System.out.println("---------------- Started - scroll_Page_Up ----------------");
driver = ExecutionSetup.getDriver();
dragger = new Actions(driver);
// drag upwards
int numberOfPixelsToDragTheScrollbarUp = -10;
for (int i = scrollPoints; i > 10; i = i + numberOfPixelsToDragTheScrollbarUp)
{
dragger.moveToElement(webelement).clickAndHold().moveByOffset(0, numberOfPixelsToDragTheScrollbarUp).release(webelement).build().perform();
}
System.out.println("---------------- Ending - scroll_Page_Up ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- scroll is unsucessfully done in scroll_Page_Up----------------");
e.printStackTrace();
return false;
}
}
- För att bläddra nedåt när flera webbläsare bläddrar (Inbyggd webbläsare) och du vill bläddra nedåt med sidan nedåt-tangenten . Klicka här för demo
I den nedan angivna koden ska du skicka ditt rulleområdeselement som
<div>
och kräva sid ned-knapp.
public static boolean pageDown_New(WebElement webeScrollArea, int iLoopCount)
{
try
{
System.out.println("---------------- Started - pageDown_New ----------------");
driver = ExecutionSetup.getDriver();
dragger = new Actions(driver);
for (int i = 0; i <= iLoopCount; i++)
{
dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.PAGE_DOWN).build().perform();
}
System.out.println"---------------- Ending - pageDown_New ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- Not able to do page down ----------------");
return false;
}
}
- För att bläddra uppåt när flera webbläsare bläddrar (Inbyggd webbläsare) och du vill rulla upp med Page UP-tangenten . Klicka här för demo
I den nedan angivna koden ska du skicka ditt skivområdeselement som
<div>
och kräva siduppknappen.
public static boolean pageUp_New(WebElement webeScrollArea, int iLoopCount)
{
try
{
System.out.println("---------------- Started - pageUp_New ----------------");
driver = ExecutionSetup.getDriver();
dragger = new Actions(driver);
for (int i = 0; i <= iLoopCount; i++)
{
dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.PAGE_UP).build().perform();
}
System.out.println("---------------- Ending - pageUp_New ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- Not able to do page up ----------------");
return false;
}
}
- För att bläddra nedåt när flera webbläsare bläddrar (Inbyggd webbläsare) och du vill bläddra nedåt med Endast nedåtpil . Klicka här för demo
I den nedan angivna koden, skicka ditt rullningselement som
<div>
och kräva nedknappen.
public static boolean scrollDown_Keys(WebElement webeScrollArea, int iLoopCount)
{
try
{
System.out.println("---------------- Started - scrollDown_Keys ----------------");
driver = ExecutionSetup.getDriver();
dragger = new Actions(driver);
for (int i = 0; i <= iLoopCount; i++)
{
dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.DOWN).build().perform();
}
System.out.println("---------------- Ending - scrollDown_Keys ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- Not able to do scroll down with keys----------------");
return false;
}
}
- För att bläddra uppåt när flera webbläsare bläddrar (Inbyggd webbläsare) och du vill bläddra upp med Endast pil upp . Klicka här för demo
I den nedan angivna koden, skicka ditt rullningselement som
<div>
och kräva upp-tangenten.
public static boolean scrollUp_Keys(WebElement webeScrollArea, int iLoopCount)
{
try
{
System.out.println("---------------- Started - scrollUp_Keys ----------------");
driver = ExecutionSetup.getDriver();
dragger = new Actions(driver);
for (int i = 0; i <= iLoopCount; i++)
{
dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.UP).build().perform();
}
System.out.println("---------------- Ending - scrollUp_Keys ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- Not able to do scroll up with keys----------------");
return false;
}
}
- För att bläddra uppåt / nedåt när webbläsaren bläddrar (Inbyggd webbläsare) och du vill rulla upp / ner med Endast fast punkt . Klicka här för demo
I nedan angiven kod passera din rullningspunkt. Positiva medel nedåt och negativa innebär bläddra uppåt.
public static boolean scroll_without_WebE(int scrollPoint)
{
JavascriptExecutor jse;
try
{
System.out.println("---------------- Started - scroll_without_WebE ----------------");
driver = ExecutionSetup.getDriver();
jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0," + scrollPoint + ")", "");
System.out.println("---------------- Ending - scroll_without_WebE ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- scroll is unsucessful in scroll_without_WebE ----------------");
e.printStackTrace();
return false;
}
}
- För att bläddra uppåt / nedåt när webbläsaren bläddrar (Inbyggd webbläsare) och du vill bläddra uppåt / nedåt för att skapa element i synligt område eller dynamisk rullning . Klicka här för demo
I nedan angiven kod passera ditt element.
public static boolean scroll_to_WebE(WebElement webe)
{
try
{
System.out.println("---------------- Started - scroll_to_WebE ----------------");
driver = ExecutionSetup.getDriver();
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", webe);
System.out.println("---------------- Ending - scroll_to_WebE ----------------");
return true;
}
catch (Exception e)
{
System.out.println("---------------- scroll is unsucessful in scroll_to_WebE ----------------");
e.printStackTrace();
return false;
}
}
Obs: Kontrollera ditt ärende och använd metoder. Låt mig veta om något fall saknas.