Нажмите на значение в раскрывающемся окне, используя RSelenium.

На следующем веб-сайте: https://www.bhtelecom.ba/index.php?id=7226&a=new Я хочу выбрать второе значение в раскрывающемся окне ("Tuzlanski (035)"), которое появится после того, как вы нажмете "Sarajevo (033)". Я хочу сделать это с помощью RSelenium.

Я попробовал 10 различных решений, которые нашел в stackoverflow, но ни одно из них не работает. Я думаю, это потому, что он генерируется javascript.

Одно из моих проверенных решений:

remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4445L,
                      browserName = "chrome")
remDr$open()
remDr$navigate("https://www.bhtelecom.ba/index.php?id=7226&a=new")
option <- remDr$findElement(using = 'xpath', "//select[@id='di']/option[@value='035']")
option$clickElement()

person Mislav    schedule 16.06.2018    source источник


Ответы (1)


Сначала вы должны нажать на поле ввода:

input <- remDr$findElement(using = 'xpath', "//input[@class = 'select-dropdown']")
input$clickElement()

тогда варианты будут видны, и вы можете выбрать их, используя правый xPath:

option <- remDr$findElement(using = 'xpath', "//span[contains(., 'Tuzlanski (035)')]")
option$clickElement()

Вероятно, вам может понадобиться использовать это:

Sys.sleep(5) # wait 5 seconds

если скрипт будет слишком быстрым и попытается выбрать элемент раскрывающегося списка до того, как появится раскрывающийся список.

Сводный код:

input <- remDr$findElement(using = 'xpath', "//input[@class = 'select-dropdown']")
input$clickElement()

Sys.sleep(5) # wait 5 seconds

option <- remDr$findElement(using = 'xpath', "//span[contains(., 'Tuzlanski (035)')]")
option$clickElement()

Вы также ошиблись xPath: введите здесь описание изображения

person Andrei Suvorkov    schedule 16.06.2018
comment
У меня не работает: выдает ошибку Error: Summary: ElementNotVisible для последней команды (option$clickelement()) - person Mislav; 16.06.2018
comment
Добавить Sys.sleep(5) после input$clickElement() - person Andrei Suvorkov; 16.06.2018
comment
это не помогает - person Mislav; 16.06.2018
comment
Я нашел проблему, там была неправильная xPath, посмотрите ответ - person Andrei Suvorkov; 16.06.2018