我想测试的页面有问题。
我的第一次尝试: 当我手动点击按钮时,我将在下一页正常转发。 当我试图用selenium点击相同的按钮时,我得到一个错误页面“抱歉......出了问题... blabla”。我认为这个问题只能解决页面的开发团队。
By book = By.cssSelector("#button\\.buchung\\.continue");
//By book = By.cssSelector("button.buchung.continue");
//By book = By.xpath("//*[@id='button.buchung.continue']");
WebElement element= ConfigClass.driver.findElement(book);
element.click();
但我想尝试一种解决方法:
我点击了与JQuery相同的按钮。 我打开了我的chrome控制台并执行了以下按钮:
jQuery('#button\\.buchung\\.continue').click()
如何在我的selenium代码中执行此JQuery表达式?
我试过了,但没有成功:
JavascriptExecutor je = (JavascriptExecutor) driver;
je.executeScript("jQuery('#button\\.buchung\\.continue').click()");
答案 0 :(得分:0)
使用$
je.executeScript("$('#button\\.buchung\\.continue').click()");
答案 1 :(得分:0)
jQuery(" selector")会返回一个列表。 我认为你必须在索引0处的元素上调用click()(假设只有一个元素满足选择器)
代码:
je.executeScript("jQuery('#button\\.buchung\\.continue')[0].click()");
答案 2 :(得分:0)
你非常接近。如果 cssSelector 唯一标识 WebElement ,则可以使用以下代码块:
function toUTCTimeValue(s) {
var b = s.split(/\D/);
return Date.UTC(b[0],b[1]-1,b[2],b[3],b[4]);
}
// As time value
console.log(toUTCTimeValue('2018-03-10 12:12'));
// Convert to Date object and print as timestamp
console.log(new Date(toUTCTimeValue('2018-03-10 12:12')).toISOString());