ポジショニングのXPathのセレンの自動化は、スキルになります* *

私はいくつかのヒントやスクリプトを書くときに我々は、多くの場合、簡単に見落としていること、いくつかの小さな細部あなたと共有し、ここで、XPathのの位置決めは、特に親族を感じるだろう、UIオートメーションを書いたと信じています。
まず、XPathを使用することは避けてくださいを見つけます

  • スペースでプロパティを使用しないでください
  • 自動生成されたID、クラスを使用しないでください、など
  • 使用が少ないと、よりFirebugの
  • さまざまなユニークな特性に基づいて位置決め、一意な位置決めを確実にするためのユニークなポジショニング属性を見つけてください
  • フレームがあるかどうかを確認

Xptahポジショニング


直接経路3の先頭と一致する唯一のコピーするために使用することができる場合は1を押し1 F12は、2位の懸念に(位置する要素に割り当てfirepathオープン矢印、図5のヒット数をクリックしてくださいあなたはフレームでフレームを切り替える必要がある場合はどうかトップウィンドウで、フレーム)のスイッチング動作を呼び出すことができます。


2、次のようにキーワード、ロケーション・コードが含まれています:
// A [含まれているが(テキストは()、「忘れたパスワード」)]、(テキストが含まれている)を同時にタグ内のテキスト情報はまた、@のサポートなどの属性名が含ま表します。 // [(@id、 'を含む *****')〕 などが挙げられます。


図3に示すように、位置決め要素の属性は、位置コード次のように:
// INPUT [@id =「パス」]は、長いタグが属性に存在する限り、理論的には、(いくつかの属性を動的に生成、長い特性を使用することはできません使用することができます推奨されません)例://入力[@プレースホルダ=「パスワード」]などが挙げられます。


図4に示すように、使用レベルの位置は、位置コードは、次のように:
//フォーム[@id =「ログインフォーム」] // INPUT [プレースホルダ@ =「パスワード」]、第一位置決め要素又は祖先ノードの親ノード、現在のノードの再配置を、「//」接続で中間。レベルのターゲティングは、祖先::柔軟な使用::親と組み合わせることができます。


5、使用兄弟节点定位,定位代码如下:
//p[contains(text(),'Dior会员登录')]//following-sibling::ul[contains(@class,'form-list')],following-sibling::表示往下查找该元素的兄弟节点,preceding-sibling::表示往上查找该元素的兄弟节点。


6、最不推荐的定位方式,定位代码如下:
//*[@id="login-form"]/div/div[2]/div[1]/ul,F12打开chrome浏览器的开发者工具,点击左上角的箭头并移到需要定位的元素,在html中右击>Copy>Copy XPath。
最后


1、firebug一定要看,上面表示当前元素在哪,是在主页还是在frame里面,要看好做对应的切换
2、下面表示你所写的xpath对应的或者到的元素个数一定要唯一!一定要唯一!一定要唯一!!!
XPATH的几个常用函数
1、contains ():
//div[contains(@id,'in')] ,表示选择id中包含有’in’的div节点
2、text():
由于一个节点的文本值不属于属性,比如“<a class=”baidu“ href=”“>baidu</a>”,所以,用text():函数来匹配节点://a[text()='baidu']
3、last():
函数位置定位
4、starts-with():
//div[starts-with(@id,'in')] ,表示选择以’in’开头的id属性的div节点
5、not()函数,表示否定
//input[@name=‘identity’ and not(contains(@class,‘a’))] ,表示匹配出name为identity并且class的值中不包含a的input节点。

おすすめ

転載: www.cnblogs.com/jiachangwei/p/12153128.html