Я использую rselenium для автоматизации навигации по страницам в Firefox. Мой rscript импортирует фрейм данных для различных условий и создает настраиваемую функцию, которая затем вызывается с помощью команды apply. В функции на каждый столбец ссылаются примерно так:
#create the function
example <- function(dat) {
webElem$sendKeysToElement(list(dat[[column1]]))
#Enters text from the column in the web driver
}
apply(df, 1, example) #Should repeat the function for each row of the data
У меня есть несколько столбцов, на которые я ссылаюсь в функции apply, чтобы данные из каждого из них могли взаимодействовать с веб-драйвером по-разному - например, dat[[column2]]
, dat[[column3]]
и т. Д. В основном я просто отправляю ключи (вкладки и клавиши со стрелками после findElement(using = 'tag name', 'body')
или нажимаю кнопку, которую нахожу с функцией findElement
и ее идентификатором.
У меня выполняется сценарий, и он отлично работает с первого раза, но когда он запускается заново, я получаю ошибки. Я хотел бы, чтобы селен снова открыл начальный URL-адрес и повторил навигацию, используя следующую строку фрейма данных. Но происходит то, что r блокируется или сообщает об ошибке:
Error: Summary: NoSuchDriver
Detail: A session is either terminated or not started
class: org.openqa.selenium.NoSuchSessionException
Further Details: run errorDetails method
Я думаю, что это восходит к findElements
вызовам в начале функции или sendKeysToElement
вызову. Я попытался закрыть, выйти и повторно инициализировать удаленный драйвер, но, похоже, это не имеет значения. Есть какие-нибудь советы по устранению неполадок? Или хороший способ сделать повторную навигацию с селеном в r?