我有模型自動化,其中有列:數據類型:文本,系列化作爲哈希。如何發送多種方法如串紅寶石
考慮到與散紀錄
{
1=>"goto 'seznam.cz'",
2=>"text_field(placeholder: 'jméno').set '[email protected]'",
3=>"text_field(placeholder: 'heslo').set 'Pass123'",
4=>"button(xpath: //form[@class='login-form']//button[.='Přejít do Emailu']).click"
}
而且我反對瀏覽器 throught硒的webdriver &我要調用這些散列爲序列的方法,是這樣的:
automation = Automation.find(params[:automation_id])
automation.data.keys.each do |key|
browser.send(automation.data[key])
end
但它不」工作因爲我試圖發送multiplte方法名稱作爲一個。 首先可以解決爲browser.send(:goto,'seznam.cz'),但它並沒有幫助我在更大的規模,有沒有什麼辦法解決它,而不嘗試創建一些不可能的解析器(for我至少)。
這些方法可以作爲
browser.text_field(placeholder: 'jméno').set '[email protected]'
當然
,但我想以某種方式從散列循環內使自動化它。
任何想法將不勝感激,謝謝!
有明顯遺漏了很多的代碼因爲這似乎需要某種解析才能正常工作。它也看起來像你正在執行可能非常危險的任意代碼。 – tadman
你可以使用'eval',但同樣,不執行由陌生人 –
提供的代碼串的那些只是手動添加到數據庫,這樣我就可以存儲進度,所以這是我的代碼,我只是沒有找到更好的辦法如何存儲分步代碼。 @maxple EVAL似乎工作,因此,它是好的,如果那是我的代碼或是否有更好的方式來做到這一點?不管怎樣,謝謝:) –