2017-07-05 12 views
0

を認識し、このコードでXPathのXPathは、私はこれに新しいですし、私はセレンの使用方法を理解しようとしています正規表現の部分

string exp = "//*[@id=\"g_1_bHwVovAN\"]/td[2]"; 
var dateTime = chromeDriver.FindElementsByXPath(exp); 

ていません、私は1つのだけの要素を取ることができます。どのようにこの "bHwVovan"の部分を変更することができるので、私はウェブサイト上のすべての種類の要素に到達することができます。

私は正規表現を使用しようとしましたが、動作しませんでした。それは正規表現の部分を認識しませんでした。また、私は他のポストを見て、マッチを使いこなそうとしましたが、うまくいきませんでした。どうすれば解決できますか?

私が明確かつ正しい方法で書くのでなければ、私は英語も新しくなっています。申し訳ありません

+1

を?さもなければ、isは等値一致をしています:と*は等号では一致しません*。よう:https://stackoverflow.com/a/10404321/23354。おそらく、 'string exp =" // * [一致する(@ id、 'g_1 _ [^ [0-9 +]]')]/td [2] ";'? –

+0

@MarcGravell私はそのテンプレートを使用しようとしましたが動作しませんでした[リンク] https://stackoverflow.com/questions/21405267/xpath-using-regex-in-contains-function –

答えて

1

matches()にはXPath 2.0の問題がありますが、seleniumはこのXPathバージョンをサポートしていません。

あなたは"g_1_"で始まるid属性を持つ要素と一致するために、次の試みることができます:matches`:あなたは `FNを使用する必要はありません、正規表現を使用するには

string exp = "//*[starts-with(@id,\"g_1_\")]/td[2]"; 
+0

ありがとう!完璧に動作します。 –

関連する問題