2016-08-01 13 views
0

私はちょうどSeleniumで作業を始めましたが、かなり問題に直面しています。私はダイナミックなWebサイトで作業しています.Seleniumが常にページのトップリンクをクリックしたいと思っています。すべてのリンクは、私は今、私のxpath文字列'rList:0:itemFormClassic']/divで始まるので、私はXpathには文字列が含まれています

//*[starts-with(@id, ''rList:0:itemFormClassic']/div')] 

に入力する。しかし、これは動作しないかどうかを知りたいと思います次のXPath

//*[@id='rList:0:itemFormClassic']/div[2]/h2/span/a 

で始まるシンボル理由'はすでに私のxpathに含まれていますが、私は実際の文字列と見なしたいと思います。

誰も私がそれを避ける方法を知っていますか?

+0

を私はセレンに慣れていないんだけど、あなたは '' 'をエスケープするために '' "を試してみたのですか? –

+0

文字列を二重引用符で囲みましたか?なぜxpathが始まっているのかチェックしますか? rListで始まるidの要素のセレクタが必要ですか? – lauda

+0

次のように試してください: '// * [starts-with(@id、" rList:0:itemFormClassic ']/div ")]' ..しかし、あなたの要素idが '' rList:0:itemFormClassic ']/div' ... ?? –

答えて

1

二重引用符を使用してエスケープします。 これは動作するはずです:

driver.findElement(By.xpath("//*[starts-with(@id, \"'rList:0:itemFormClassic]/div\")]")); 
関連する問題