使用RSelenium在下拉窗口中单击值

时间:2018-06-16 08:59:43

标签: r rselenium

在以下网站上:https://www.bhtelecom.ba/index.php?id=7226&a=new 我想在下拉窗口(" Tuzlanski(035)")中选择第二个值,然后点击"萨拉热窝(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()

1 个答案:

答案 0 :(得分: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()

你也错了xPathenter image description here