selenium自动化测试:滚动+悬停学习

滚动+悬停技术
案例网址网易音乐:https://music.163.com/
注:自行点开网址F12查看xpath
Java:
1、关键代码行:

		//3. 选择第三首歌,点击“添加到播放列表”按钮。
    	//滚动
    	//JavascriptExecutor js = (JavascriptExecutor) driver;
    	//js.executeScript("window.scrollBy(50, 300)");
    	((JavascriptExecutor) driver).executeScript("window.scrollBy(50, 300)");
    	//悬浮
    	Actions actions=new Actions(driver);
    	actions.moveToElement(driver.findElement(By.xpath("//*[@id=\"song-list-pre-cache\"]/div[1]/div[1]/table/tbody/tr[3]"))).perform();
    	Thread.sleep(3000);
    	driver.findElement(By.xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[3]/div/a")).click();

2、完整代码展示:

		driver.get("https://music.163.com/");
    	driver.manage().window().maximize();
    	
    	//1. 打开 网易云音乐 首页,点击“歌手”
    	driver.findElement(By.xpath("//*[@id=\"g_nav2\"]/div/ul/li[5]/a/em")).click();
    	Thread.sleep(2000);
    	//2. 在左边华语框中选择“华语女歌手”,在字母表中选择“D”,并点击第一个歌手的照片进入详情页。
    	driver.switchTo().frame("contentFrame");
    	Thread.sleep(2000);
    	driver.findElement(By.xpath("//*[@id=\"singer-cat-nav\"]/div[1]/ul/li[2]/a")).click();
    	Thread.sleep(2000);
    	driver.findElement(By.xpath("//*[@id=\"initial-selector\"]/li[5]/a")).click();
    	Thread.sleep(3000);
    	driver.findElement(By.xpath("//*[@id=\"m-artist-box\"]/li[1]/div/a")).click();//找不到具有指定 ID 的上下文
    	Thread.sleep(3000);
    	//driver.findElement(By.xpath("/html/body/div[3]/div[2]/div/div/div[2]/ul/li[1]/div")).click();
    	//3. 选择第三首歌,点击“添加到播放列表”按钮。
    	//滚动
    	//JavascriptExecutor js = (JavascriptExecutor) driver;
    	//js.executeScript("window.scrollBy(50, 300)");
    	((JavascriptExecutor) driver).executeScript("window.scrollBy(50, 300)");
    	//悬浮
    	Actions actions=new Actions(driver);
    	actions.moveToElement(driver.findElement(By.xpath("//*[@id=\"song-list-pre-cache\"]/div[1]/div[1]/table/tbody/tr[3]"))).perform();
    	Thread.sleep(3000);
    	driver.findElement(By.xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[3]/div/a")).click();

Python:
1、关键代码行:

# 点第三首-滚动+悬停-点击“添加到播放列表”
# 滚动
js = "window.scrollTo(50,300);"
driver.execute_script(js)
link = driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[2]/div/div/div")
# 悬停
ActionChains(driver).move_to_element(link).perform()
time.sleep(2)
driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[3]/div/a").click()
time.sleep(1)

2、完整代码展示:

from selenium import webdriver
import time
from selenium.webdriver import ActionChains

driver = webdriver.Chrome()
driver.get("https://music.163.com/")
driver.maximize_window()
# 1. 打开 网易云音乐 首页,点击“歌手”
driver.find_element_by_xpath("//*[@id=\"g_nav2\"]/div/ul/li[5]/a/em").click()
time.sleep(1)
# 在左边华语框中选择“华语女歌手”,
driver.switch_to.frame("contentFrame")
driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/div[1]/ul/li[2]/a").click()
time.sleep(1)
# 点击“D”
driver.find_element_by_xpath("//*[@id='initial-selector']/li[5]/a").click()
time.sleep(1)
# 点第一个专辑
driver.find_element_by_xpath("/html/body/div[3]/div[2]/div/div/div[2]/ul/li[1]/div/a").click()
time.sleep(1)
# 点第三首-滚动+悬停-点击“添加到播放列表”
# 滚动
js = "window.scrollTo(50,300);"
driver.execute_script(js)
link = driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[2]/div/div/div")
# 悬停
ActionChains(driver).move_to_element(link).perform()
time.sleep(2)
driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[3]/div/a").click()
time.sleep(1)
# 关闭所有窗口
driver.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值