我有收集测试服务器的电子邮件的电子邮件的Customer.io帐户。 有一个iframe需要元素。但我无法接近他们。如果我使用:无法访问Customer.io的iframe中的元素
page.in_iframe(xpath: "//iframe[contains(@class, 'ember-view')]") do |frame|
page.cell_element(xpath: "//td[contains(text(), 'Order Confirmation')]", frame: frame).when_present(30)
end
然后我得到一个错误:
SyntaxError: (eval):1: syntax error, unexpected tIDENTIFIER, expecting ')'
.../iframe[contains(@class, 'ember-view')]').td(identifier)
... ^
(eval):1: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
...e[contains(@class, 'ember-view')]').td(identifier)
... ^
(eval):1: syntax error, unexpected ')', expecting end-of-input
...ntains(@class, 'ember-view')]').td(identifier)
...
如果我用这个:
page.in_iframe(xpath: "//iframe[contains(@class, ember)]") do |frame|
page.cell_element(xpath: "//td[contains(text(), 'Order Confirmation')]", frame: frame).when_present(30)
end
然后,我没有得到这个错误,但元素不能被发现。
谢谢,但我的示例工作。而你的也是有用的。 –
我并不是说你的工作不正常,只是在Watir中使用XPath并不是很好的做法。 – titusfortner