Конкретно есть сайт-
http://www.xxx.ru/ru-RU/Уход-за-телом/Спреи-для-тела-MKMen-/100601.partId?eCatId=10001
Введите туда вместо числа 1, нолик и нажмите ENTER Выполниться скрипт, вопрос как его найти и выполнить самому в коде ? не эмитируя нажатие в коде ENTER
if (driver instanceof JavascriptExecutor) {
        ((JavascriptExecutor)driver).executeScript("yourScript();");
    }

         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Заюзать например метод.
public void setElementText(By by, String text){
          JavascriptExecutor js = (JavascriptExecutor) driver;
          WebElement element = driver.findElement(by);
          js.executeScript("arguments[0].innerHTML = \""+text+"\";", element);
         }
А потом в тест вызвать его.
setElementText(By.id(“PlaceHolderMain_ctl01_ctl05_QuantityInput”), “0”);
Вроде так.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          хмм не работает
да и вообще что значит ? ( “arguments[0].innerHTML = “”+text+”";", element);   конекретно наверное: arguments[0].innerHTML
почему оно должно решать эту проблему
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          импорты сделал?
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
Еще раз.
@Test
    public void testPages(){
        driver.get("http://automated-testing.info");
        setElementAttribute(By.xpath("//input[@id='PlaceHolderMain_ctl01_ctl05_QuantityInput'][@value=1]"),"value","0");
        
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }        
        
    }
     public void setElementAttribute(By by, String attr, String value){
          JavascriptExecutor js = (JavascriptExecutor) driver;
          WebElement element = driver.findElement(by);
          js.executeScript("arguments[0].setAttribute('"+attr+"', '"+value+"');", element);
         }
А так? Произойдет замена атрибута value с 1 на 0. Но я незнаю поможет это тебе или нет. Код работает, проверил.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Если уж делаете костыль (как это еще назвать?) с помощью жс-а, то делайте его правильно:
js.executeScript("document.getElementById('PlaceHolderMain_ctl01_ctl05_QuantityInput').value=0");
Зачем эта порнография с innerHTML или с поиском сначала элемента вебдрайвером, а потом сетом жс-ом, сразу делайте жс-ом.
         
        
        
           
           
           2 лайка
         
         
            
            
          
       
      
        
        
          
Уау круто работает, это получает команда javascript?
->> document.getElementById(‘PlaceHolderMain_ctl01_ctl05_QuantityInput’).value=0"
и
есть вариант вообще такое вернее бывает, чтобы вызвать скрипт обработки самого сайта? или типа того
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          А тебе вообще зачем ява скрипт?
Что тебе надо проверить/увидеть после того как ты там 0 поставил?
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          
не просто если сделать clear
потом
type (5)
получался косяк - надпись введите корректное число, пока не перейдешь в другом поле или не нажмешь в нем enter, после ввода числа.
Типа clear так работает…в отличии от type, что после него происходит срабатывание скрипта на корректность количества товара (а  в тот момент там пустое вообще)