使用Robot Framework单击javascript元素不起作用

时间:2018-04-11 07:43:28

标签: javascript selenium-webdriver robotframework

我有一个webelement,我需要执行click方法:

<a class="pull-right add_card" href="javascript:void(0);" onclick="showHideCardField(this);deselect(this)">+ Add New Card</a>

如果我使用selenium2library方法如下:

Click Element  xpath=.//*[@class='pull-right add_card']

它不起作用并抛出以下错误:

InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated

我试着按如下方式执行javacsript:

Execute JavaScript    document.getElementsByClassName("pull-right add_card")[0].onclick()

但它也会抛出错误如下:

WebDriverException: Message: unknown error: showHideCardField is not defined

此问题与无法跟踪的元素无关,但与javascript元素无法点击无关。 请帮助解决问题。我需要点击这个元素。

1 个答案:

答案 0 :(得分:0)

你可以在机器人框架中尝试如下。

library(stringr)
library(dplyr)
name <- c( "{\"dog\", \"cat\",\"attashee\"}")
x <- as.data.frame(name) %>% mutate_each(funs(str_replace_all(., "\"", "")))
result <- strsplit(x$name,"![a-z]")[[1]]
result <- gsub('\\{', '', result)
result <- gsub('\\}', '', result)
result <- strsplit(as.character(result), split = ',', fixed = TRUE)[[1]]
result <- gsub(" +", "", result)
str(result)
#chr [1:3] "dog" "cat" "attashee"