org.openqa.selenium.support.ui.unexpectedtagname异常:元素应该是;选择";但是是",;按钮“;
所选元素的html代码为: 我不知道为什么会有这个错误 试试下面的Xpath:-org.openqa.selenium.support.ui.unexpectedtagname异常:元素应该是;选择";但是是",;按钮“;,selenium,exception,Selenium,Exception,所选元素的html代码为: 我不知道为什么会有这个错误 试试下面的Xpath:- //button[@class='btn btn-default form-control ui-select-match btn-default-focus'] 或 或者更具体地说:- //button[@placeholder='Select or search a manufacturer in the list...' and @class='btn btn-default form-control u
//button[@class='btn btn-default form-control ui-select-match btn-default-focus']
或
或者更具体地说:-
//button[@placeholder='Select or search a manufacturer in the list...' and @class='btn btn-default form-control ui-select-match btn-default-focus']
如果您的问题是该元素从屏幕上滚下(结果是在标题栏下),您可以尝试将其滚回视图,如下所示:
private void scrollToElementAndClick(WebElement element) {
int yScrollPosition = element.getLocation().getY();
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scroll(0, " + yScrollPosition + ");");
element.click();
}
如果需要,还可以添加一个静态偏移量(例如,如果您有一个200px高且始终显示的页眉):
如果不起作用,则使用JavascriptExecutor
。这是Selenium提供的一个接口,但使用它并不是一个好的实践,因为它直接在DOM上工作
WebElement element= driver.findElement(By."Your Locator"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
希望它能帮助您:)您缺少html代码html代码是:第二个是在粘贴到xpath并单击Enter时定位到html代码块。但它没有定位元素…第一个和第三个xpath没有定位到html或元素..第二个是单击Enter但没有定位元素。。意思是?单击后不会发生任何事情吗?当我们将xpath粘贴到firebug xpath位置时,如果单击enter,firebug应该会找到所需的元素。单击enter后,不会发生任何事情。只需再次打开HTML代码,但不在浏览器上突出显示我们的元素。。
public static final int HEADER_OFFSET = 200;
private void scrollToElementAndClick(WebElement element) {
int yScrollPosition = element.getLocation().getY() - HEADER-OFFSET;
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scroll(0, " + yScrollPosition + ");");
element.click();
}
WebElement element= driver.findElement(By."Your Locator"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);