Xpathの位置決め方法は非常に強力です。この方法を使用して、ページ上のほぼすべての要素を見つけます。
内容を読む
xpathとは何ですか
XPathはXMLパスの略語です。 HTMLドキュメント自体は標準のXMLページであるため、XPathの使用法を使用してページ要素を見つけることができます。
XPathポジショニングの短所
これは非常に時間のかかる操作です。 Xpathを使用してページ全体のすべての要素を見つける場合、スクリプトの実行がわずかに遅くなる可能性があります。
testxpath.htmlコードは次のとおりです
<html> <head> <title> test xpath </title> </head> <body> <div id = "div1"> <input name = "div1input"> </input> <a href = "http://www.sogou.com"> sogou search </a> <img src = "http://www.sogou.com/images/logo/new/sogou.png" href = "http://www.sogou.com"> sogou picture </img> <inputタイプ= "ボタン" value = "query"> </input> </div> <div> <a div2inut " href = "http://www.baidu.com"> baidu search </a> <img src = "http://www.baidu.comn/img/bdlogo.png" href = "http://www.baidu.com"
絶対パス位置決め方法
テストされたWebページで、最初のDivタグでボタンを見つけます
XPath式
/html/body/div/input [@value = "query"] webelement button = driver.findelement(by.xpath( "/html/body/div/input [@value = 'query']"));
ブラウザデバッグツールを使用して、Xpathステートメントを直接取得できます
絶対パスの短所
1.ページ構造が変更されると、パスの変更も失敗し、再確立する必要があります。したがって、絶対パスライティングを使用することはお勧めしません
絶対パスと相対パスの違い
絶対パスは「/」で始まり、ドキュメントのルートノードからxpathを解析します
相対パスは「//」で始まり、ドキュメント内の任意の要素ノードからXpathを解析します
相対パス位置決め方法
テストされたWebページで、最初のDivタグでボタンを見つけます
XPath式
//入力[@value = "query"] webelement button = driver.findelement(by.xpath( "// input [@value = 'query']"));
インデックス番号の位置決め
テストされたWebページで、2番目のDivタグで「クエリ」ボタンを見つけます
//入力[2] WebElementボタン= driver.findelement(by.xpath( "// input [2]"));
ページ属性を使用して見つけます
テストされたページに最初の画像要素を配置します
// img [@alt = 'div1-img1'] webelement button = driver.findelement(by.xpath( "// img [@alt = 'div1-img1']"));
ファジーポジショニングはキーワードから始まります
画像alt属性の開始位置で「div1」キーワードを持つ要素を見つける
// image [starts-with(@alt、 'div')]]
ファジーポジショニングにはキーワードが含まれています
「G1」キーワードを含むALT属性を持つ要素を見つける
// image [contains(@alt、 'g1')]
テキスト()関数テキストの位置付け
「Baidu Search」というテキストのあるすべての要素を見つける
driver.findelement(by.xpath( "//*[text()= 'baidu search']"));
テキスト「検索」ですべてのハイパーリンクを見つける
driver.findelement(by.xpath( "// a [contains(text()、 'search')]"));
上記は、Java Selenium XPathの位置決めを整理する情報です。将来、関連情報を整理し続けます。このサイトへのご支援ありがとうございます!