Selenium IDE - 如何在Firefox插件中记录xpath

时间:2010-06-30 19:42:46

标签: xpath firefox-addon selenium-ide

我在Firefox插件中遇到了我的xpath问题。我有三个文本框,第一个有ID = login,其余有动态生成的ID。第一个在插件中写得很好,//输入[@ id ='login']但是一旦我尝试更高级的东西,它就找不到任何东西。在阅读了大量的论坛帖子之后,我尝试了XPather插件来生成xpath代码,但是长的html / css填充字符串也不起作用。在某些线程中,人们会写“xpath = // ...”,我也尝试过这样做,结果没有结果。

感谢所有可能的帮助!

// M

2 个答案:

答案 0 :(得分:3)

我使用的两个工具是FirebugXPath Checker,两个都是Firefox附加组件。

在Firebug中,选择HTML选项卡,右键单击元素并选择“复制XPath”

对于XPath Checker,右键单击页面中的元素并选择“View XPath”。

您可以通过将结果粘贴到Selenium IDE的目标字段中然后单击“查找”按钮来检查这一点。这告诉了Selenium结果会是什么(比必须反复运行测试快得多!)

我发现你必须“按摩”结果,例如。

如果您转到Google主页并查找左上角的“图片”链接,则XPath Checker会将图片XPath提供为:

// ID( 'gbar')/ X:NOBR / X:一个1

这会引发错误:

找不到

[error] locator:// id('gbar')/ x:nobr / x:a 1,错误=错误:无效的xpath 2:// id('gbar ')/ x:nobr / x:a 1

如果删除id,例如

// X:NOBR / X:一个1

您会注意到图像周围有一个绿色框,显示IDE已正确解析它。

答案 1 :(得分:0)

好吧,我发现了一些新信息,它确实可以编写“xpath = /”和XPather自动生成的代码。虽然,xpath很长,并且依赖HTML标签保持不变。

为了在以下三个文本框元素中输入信息,是否有人有更好的想法写入xpath表达式(或css表达式):

TEXTBOX 1

  
      
  • Firebug:输入类型=“文本”tabindex =“110”   NAME = “6011300f91d9f186d1b7ab1a034827da”   ID = “输入1”
  •   
  • 在Selenium中运行xpath,从XPather中检索:   的xpath = / HTML /体[@ ID = '火'] /形式[@ ID = '登录表单'] / DIV / DIV / DIV [@ ID = '容器'] /格[@ ID = '内容'] /格[@ ID = '了contentPadding'] / DIV [1] /字段集[1] /输入[@ ID = 'INPUT1']
  •   

TEXTBOX 2

  
      
  • 输入类型=“密码”tabindex =“110”   名称= “0de4766295b7a965fc4969da3df6824ba”
  •   
  • 的xpath = / HTML /体[@ ID = '火'] /形式[@ ID = '登录表单'] / DIV / DIV / DIV [@ ID = '容器'] /格[@ ID = '内容' ] /格[@ ID = '了contentPadding'] / DIV [1] /字段集[2] /输入
  •   

TEXTBOX 3

  
      
  • 输入类型=“密码”tabindex =“110”class =“last”name =“6c4e0fcde65e258c3dc7c508a1cc666a”
  •   
  • 的xpath = / HTML /体[@ ID = '火'] /形式[@ ID = '登录表单'] / DIV / DIV / DIV [@ ID = '容器'] /格[@ ID = '内容' ] /格[@ ID = '了contentPadding'] / DIV [1] /字段集[3] /输入
  •   

//中号