如何使用 Web 驱动程序采样器(J 表)和 javascript 和 selenium wedriver 向上和向下滚动到任何元素
Posted
技术标签:
【中文标题】如何使用 Web 驱动程序采样器(J 表)和 javascript 和 selenium wedriver 向上和向下滚动到任何元素【英文标题】:How to scroll up and down to any element using web driver sampler(J meter) and javascript and selenium wedriver 【发布时间】:2022-01-23 11:27:54 【问题描述】:如何使用 Webdriver sampler(Jmeter) 和 javascript 和 Selenium Webdriver 上下滚动到任何元素?
var je = js.((JavascriptExecutor) WDS.browser)
var je = new js.((JavascriptExecutor) WDS.browser)
WebElement element = WDS.browser.findElement(org.openqa.selenium.By.xpath("//img[@title='Supersession']");
JavascriptExecutor js = (JavascriptExecutor) driver;
je.executeScript("arguments[0].scrollIntoView(true);",element);
【问题讨论】:
【参考方案1】:-
无需将
WDS.browser
转换为JavascriptExecutor
而且你的语法不正确,你可以自己查看jmeter.log file
打开JMeter Components Reference页面并向下滚动到tearDownThreadGroup链接的示例代码:
WDS.sampleResult.sampleStart()
WDS.browser.get('https://jmeter.apache.org/usermanual/component_reference.html')
WDS.log.info('Opened JMeter components reference page')
java.lang.Thread.sleep(3000)
WDS.log.info('Scrolling to bottom')
var tearDownThreadGroupLink = WDS.browser.findElement(org.openqa.selenium.By.xpath("//a[@href='#tearDown_Thread_Group']"))
WDS.browser.executeScript('arguments[0].scrollIntoView(true);', tearDownThreadGroupLink)
java.lang.Thread.sleep(3000)
WDS.sampleResult.sampleEnd()
更多信息:The WebDriver Sampler: Your Top 10 Questions Answered
【讨论】:
非常感谢。 但我仍然收到“无法定位”错误。 var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait) var ui = JavaImporter(org.openqa.selenium.support.ui) //var je = JavaImporter(org.openqa .selenium.JavascriptExecutor) var wait1 = new support_ui.WebDriverWait(WDS.browser, $wait) var timeunit = java.util.concurrent.TimeUnit; WDS.sampleResult.sampleStart() WDS.browser.manage().timeouts().implicitlyWait($wait,timeunit.SECONDS); var Supicon = WDS.browser.findElement(org.openqa.selenium.By.xpath("//img[@title='Supersession'][1]")); WDS.browser.executeScript('arguments[0].scrollIntoView(true);', Supicon); WDS.browser.findElement(org.openqa.selenium.By.xpath("//img[@title='Supersession'][1]")).click(); //java.lang.Thread.sleep(5000); WDS.sampleResult.sampleEnd() 我们如何使用 Action 类来执行此操作?以上是关于如何使用 Web 驱动程序采样器(J 表)和 javascript 和 selenium wedriver 向上和向下滚动到任何元素的主要内容,如果未能解决你的问题,请参考以下文章
如何在jmeter tcp采样器中发送多个十六进制数据有效负载?