Я пытаюсь использовать скрипт REPL.BAT с новой опцией «J», которая позволяет выражениям JScript для замены аргументов. Этот скрипт был создан @dbenham (оригинал REPL.BAT post и самый ранний StackOverflow post). У меня возникают трудности с синтаксисом и я надеюсь получить помощь. Вот пример сценария.Использование опции J для REPL.BAT
У меня есть следующие строки кода:
"Port #" == driver.find_element_by_id("portno").text: break
Я хотел бы заменить строку кода выше со следующим:
expected_conditions.text_to_be_present_in_element((By.ID, 'portno'), "Port #")
Как вы можете видеть, исходную строку кода имеет строчный «id», в то время как код, который я хотел бы заменить, имеет верхний регистр «ID». Я попытался с помощью следующих заменить строку:
type %iFile% |
repl "\b(.*?) \=\= driver\.find_element_by_(.*?)\(\q(.*?)\q\)\.text\: break"
"expected_conditions.text_to_be_present_in_element((By.$2.toUpperCase(), '$3'), $1)"
JMX >filenameNEW.py
Всякий раз, когда я пытаюсь это, я получаю «JScript ошибка выполнения: недопустимый символ» ошибка. Я попытался изменить ...
$2.toUpperCase()
... до ...
$[2].toUpperCase()
... но получить ту же ошибку я заявил в последнем предложении. Может кто-нибудь помочь мне выяснить, что я делаю неправильно? Спасибо заранее!
Спасибо за ваш ответ @Aacini. Да, я забыл включить мои варианты, что очень важно для определения правильного синтаксиса; мои извинения! Как вы увидите выше, я пытаюсь использовать параметр «J» вместе с опцией «M» и «X». Я верю, что именно поэтому я испытываю трудности. Параметр «M» позволяет мне делать REPL для нескольких строк одновременно, в то время как опция «X» допускает расширенную подстановку в строке REPLACE. Если я уберу ** часть toUpperCase() **, а также опцию «J», код работает отлично, кроме «id» будет строчный, а не заглавный. – rwbyrd
Кроме того, глядя на пример @ dbenham на [сайте] (http://www.dostips.com/forum/viewtopic.php?p=37855#p37855), он, похоже, не использует ** + $ 1 ** в его примерах. – rwbyrd
Сон на этом и возвращаясь к нему, сделал мне что-то хорошее. Теперь я понимаю ваше объяснение. Я создал небольшой скрипт, чтобы сначала воспроизвести эту проблему в малом масштабе и смог заставить ее работать правильно. Я считаю, что сейчас я могу попытаться сделать это намного больше. Спасибо за ваше время и помощь @Aacini! – rwbyrd