2017-03-16 41 views
0
返回正确的对象

我使用JSON的下方硒的Ruby语法无法从Json的

@driver.find_element(:css, "#poi-tabs *[class='tab ']") 

可正常工作

@driver.find_element(:css, JSON.parse(file)['xyz']['elemen']) 

但低于失败工作,因为取自.json文件的值:css在这里不支持

@driver.find_element(JSON.parse(file)['xyz']['selecto'], JSON.parse(file)['xyz']['elemen']) 

注意: 当我打印“selecto”和“elemen”,都带来确切的输出,但不确定的格式;有没有处理它的格式?或任何其他的解决方法

enter image description here


推介or.json

{ 
    "xyz": { 
    "selecto": ":css", 
    "elemen": "#poi-tabs *[class='tab ']" 
    } 
} 

回答

1
@driver.find_element(:css, JSON.parse(file)['xyz']['elemen']) 

这里:CSS是而符号在

@driver.find_element(JSON.parse(file)['xyz']['selecto'], JSON.parse(file)['xyz']['elemen']) 

:css是一个字符串。所以你没有得到期望的结果。

尝试

@driver.find_element(eval(JSON.parse(file)['xyz']['selecto']), JSON.parse(file)['xyz']['elemen'])