2017-03-27 1 views
0

私はそれを使用するように私のテストを書くためにセレンのwebdriverをリバースエンジニアリングしたいと思います。これは、スクリーン上でウェブドライバを開き、通常通りにクリックして使用することを必要とする。テストを書くたびに、 "Inspect element"を右クリックする代わりに、self.driver.find_element_by_id('username-box')などの命令を出力します。webdriverを使用して特定のアクションに関するHTML情報を取得する方法

理想的には、これは私により正確な素晴らしいxpathを与えるでしょう。どのように手動でセレンのwebdriverを使用してアクションを再作成するxpath /方法を取得するのですか?ありがとうございました

+1

driver.findElement(By.xpath( "xpath"))。getAttribute( "outerHTML");この方法で要素のHTMLの対応を得ることができます。これが役に立ちます。 – kushal

+2

あなたは手作業で保存するよりもツールを書く時間が長くなりますが、それはプログラマーであるという定義に近いと思います。このアイデアの1つの問題は、プログラムが正しいxpathを書くことができないことです。なぜなら、特定の要素を望む理由がないからです。あなたは、Chromeの開発ツールの要素のxpathを簡単に得ることができますが、「より詳細なコンテキスト固有のものではなく、id Xの要素内の3番目のdiv内の最初のdiv」を与える傾向があります。クラス名とテキストコンテンツ。 –

+0

ty kushal、それは役に立ちます – codyc4321

答えて

0

名前がついているように、あなたが話している「効率的なXPath」などの問題を解決することはできませんが、Selenium IDE(FFプラグイン)をインストールし、それらをさまざまな言語に変換します。最高のコードを書いているわけではありませんが、クイックダウンロードとインストールで何ができるかを知ることができます。

+0

downvoteを説明しますか? – JeffC

+0

SOには奇妙なものがあります。私はそれらを取り消した – codyc4321

関連する問題