有人能帮我一下吗:检查元素代码是。
代码为:
driver.findElement(By.name("login")).click(); //Click on login button
System.out.println("hello world-----4");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("hello world-----5");
WebElement element = driver.findElement(By.xpath("//*
[@id=\"modeuser\"]/div/ul/li[3]"));
((JavascriptExecutor)
driver).executeScript("arguments[0].scrollIntoView(true);", element);
element.click();
//Click on usertype
Error:
Exception in thread "main"
org.openqa.selenium.ElementNotInteractableException: Element <li
class="buyer_border changeusermode "> could not be scrolled into view
Build info: version: '3.9.0', revision: '698b3178f0', time: '2018-02-
05T14:56:13.134Z'
System info: host: 'CLAVAX-PC-93', ip: '192.168.2.122', os.name: 'Windows
10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities {acceptInsecureCerts: true, browserName: firefox,
browserVersion: 58.0.2, javascriptEnabled: true, moz:accessibilityChecks:
false, moz:headless: false, moz:processID: 14260, moz:profile:
C:\Users\Rahul\AppData\Loca..., moz:webdriverClick: true, pageLoadStrategy:
normal, platform: XP, platformName: XP, platformVersion: 10.0, rotatable:
false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}}
HTML is :
<div class="right hide-on-med-and-down head_right_mar" id="modeuser">
<!-- <div class="toggleWrapper">
<input class="dn" type="checkbox" id="dn" value="1"/>
<label class="toggle" for="dn"><span class="toggle__handler"></span></label>
</div> -->
<div class="right_toggle">
<ul>
<li data-get="seller" class="changeusermode active">
<span>Seller</span>
<span class="nav_span">On</span>
</li>
<li class="mid_toggle">
<div class="switch">
<label>
<input class="changeusermode_btn" type="checkbox" data-on="Yes" data-off="No">
<span class="lever"></span>
</label>
</div>
</li>
<li data-get="buyer" class="buyer_border changeusermode ">
<span>Buyer</span>
<span class="nav_span">Off</span>
</li>
</ul>
</div>
</div>
首先,验证元素是否在您的框架中。
如果不是,您将需要切换到正确的框架,以便单击元素:
driver.switchTo().frame(driver.findElement(By.name("iframeWithElement")));
此外,为了在单击不同的UI元素时提高稳定性,您可以执行以下几个步骤:
WebDriverWait wait = new WebDriverWait(driver, 3);
JavascriptExecutor js = ((JavascriptExecutor) driver);
//presence in DOM
wait.until(ExpectedConditions.presenceOfElement(By.id("ID")));
//scrolling
WebElement element = driver.findElement(By.id("ID")));
js.executeScript("arguments[0].scrollIntoView(true);", element);
//clickable
wait.until(ExpectedConditions.elementToBeClickable(By.id("ID")));
Wait.until(ExpectedConditions.presenceOfElement(By.class("article-feed-title")));
我正在尝试使用java和Eclipse学习Selenium。我试图找到网页中的一个元素。 我尝试使用这行代码单击一个html元素: 下图显示了页面的html结构:
我正在尝试用Selenium选择一个值。 你能帮我纠正一下情况吗?
我正在为我的公司自动化IdentiGO应用程序,并得到以下错误: 下面是我的代码,由于与我的问题无关,所以省略了导致该页面的脚本。 在此代码之前的页面上,用户选择约会日期和时间;我希望脚本等待“开始”按钮被推,然后在下面的截图中点击“继续”: null https://jsfiddle.net/khf4tym3/ 当我单击“View page source”时,弹出的html不会显示在源代码中,所
问题内容: Selenium 1.x或2.x中是否可以滚动浏览器窗口,以使XPath标识的特定元素在浏览器的视野中?Selenium中有一个聚焦方法,但是在FireFox中似乎并没有实际滚动视图。有人对此有任何建议吗? 我需要这样做的原因是我正在测试页面上某个元素的点击。不幸的是,除非该元素可见,否则该事件似乎不起作用。我无法控制单击元素时触发的代码,因此无法调试或对其进行修改,因此,最简单的解决
错误是“元素输入class=”whsond zhqkbf“name=”password“type=”password“无法滚动到视图中”
我使用Selenium在一个有多个下拉菜单的页面上运行测试(特别是一个弹出页面,允许您选择一些选项然后关闭它)。我可以点击这些菜单中的一些完全罚款;但是,其中一些会抛出异常,消息为“Element不能滚动到视图中”,即使菜单是紧挨着的。我很困惑为什么一个菜单有效,而另一个却不有效,尽管它们看起来是一样的。为了点击菜单,我尝试了三种方法: a)常规硒点击: 这是其他菜单的工作原理,除了我直接导航到“