Я пытаюсь выполнить скрипт с функциями, у которых больше параметров, и каждая попытка возвращает ошибку:
Exception in thread "main" org.openqa.selenium.JavascriptException: ReferenceError: coords is not defined
мой скрипт:
enter code here
if (driver instanceof JavascriptExecutor) {
((JavascriptExecutor) driver)
.executeScript("setNewCellType(new ZmianaTypuCommandFactory(),currentRozdzial,currentTable,this.activeCoords)");
Я нахожу функции в инструментах разработчика, и его форма:
function setNewCellType(factory,nrRozdzial,tab,coords,newState,mode)
и я устанавливаю точку останова в этом месте, чтобы получить параметры, и параметры:
setNewCellType(newZmianaTypuCommandFactory(),currentRozdzial,currentTable,this.activeCoords,params);
this.activeCoords have value
(col: 2
colspan: 1
row: 2
rowspan: 1
siatkaCol: 2
siatkaRow: 2)
кто-то может мне помочь?
элемент Iхочу использовать имеет динамическое значение в этом сеансе, эти элементы больше.
Больше сценариев:
driver.findElement(By.id("addTableRowCount")).clear();
driver.findElement(By.id("addTableRowCount")).sendKeys("9");
driver.findElement(By.id("addTableColCount")).clear();
driver.findElement(By.id("addTableColCount")).sendKeys("2");
driver.findElement(By.id("addTableOK")).click();
driver.switchTo().defaultContent();
driver.findElement(By.id("tytulTabeli")).sendKeys("Tytuł tabeli - 1");
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//p[text()='Obszar danych']")));
driver.findElement(By.xpath("//p[text()='Obszar danych']")).click();
if (driver instanceof JavascriptExecutor) {
((JavascriptExecutor) driver)
.executeScript("setNewCellType(new ZmianaTypuCommandFactory(),currentRozdzial,currentTable,this.activeCoords)");
@Zhivko.Kostadinov
var ZmianaTypuCommandFactory = Class.create(CellTypeChangeCommandFactory,{
initialize: function($super){
$super(new ZmianaTypuValidator());
this.wymagalnoscFactory = new WymagalnoscCommandFactory();
},
createSingleCmd: function(nrRozdzial,tab,coords,newState){
if(newState.cellType.cellTypeInt == TYPY_KOMOREK.ZAZNACZENIE.cellTypeInt)
{ var cmd = new CompositeCommand();
var typeCmd = new ZmianaTypuCommand();
typeCmd.setState(tab,coords,newState);
cmd.addCommand(typeCmd);
var wymagalnoscCmd = this.wymagalnoscFactory.createCmd(nrRozdzial,tab,coords,true);
if(wymagalnoscCmd){
cmd.addCommand(wymagalnoscCmd);
return cmd;
}
else{
return typeCmd;}}
else{
var cmd = new ZmianaTypuCommand();
cmd.setState(tab,coords,newState);
return cmd; }}});