#javascript #python-3.x #selenium
#javascript #python-3.x #селен
Вопрос:
Как мне использовать список python внутри кода javascript?
stream_id = 4000
# add stream sources list
a_file = open("C:/Users/Unknown/Documents/Selenium/stream_source.txt", "r")
stream_sources_list = []
for line in a_file:
stripped_line = line.strip()
stream_source_line_list = stripped_line.split()
stream_sources_list.append(stream_source_line_list)
a_file.close()
print("stream_sources:", len(stream_sources_list))
while listposition < len(stream_sources_list):
# navigate
driver.get("http://192.168.94.128:25500/stream.php?id={}".format(stream_id))
driver.execute_script(f"document.getElementById('stream_source').setAttribute('value', '{stream_sources_list[listposition]}');")
stream_id = stream_id 1
listposition = listposition 1
это та часть, которая не работает: ‘{stream_sources_list[listposition]}’
driver.execute_script(f"document.getElementById('stream_source').setAttribute('value', '{stream_sources_list[listposition]}');")
Комментарии:
1. Можете ли вы предоставить полную обратную трассировку для этой ошибки? И код, в котором вы на самом деле вызываете эту
driver.execute_script()
функцию? Похоже, что то, чем вы поделились, включает в себя только чтение элементов из файла в список, а затем печать длины этого списка.2. по какой-то причине я не могу опубликовать полный код, в нем говорится, что ваш пост в основном состоит из кода, поэтому я попытался минимизировать код и перейти к тому, в чем проблема.
3. Возможно, если вы добавите немного слов, описывающих вашу проблему более подробно, вы сможете это сделать. Полная обратная трассировка облегчит понимание.
4. Что я пытаюсь сделать, у меня есть список, и внутри этого списка есть элементы, я перехожу по ссылке и вхожу в систему, затем появляются входные данные, и вместо ввода я устанавливаю значение каждого ввода с элементами списка там, это цикл, которыйбудет делать это для каждого элемента списка.
5. Должен быть этот код и трассировка. Этот текущий вопрос невозможно воспроизвести, неясно, какова фактическая ошибка без обратной трассировки, и если проблема заключается в том, как вы используете
selenium
, ее невозможно диагностировать, не видя написанный вами код.
Ответ №1:
Использовать node.js дочерний процесс child_process.spawn():