2011-09-09 74 views
0

ここに状況があります - 私がテストしているWebサイトでは、ページソースが動的に変化します。つまり、マウスを要素の上に移動するとPopoverが表示され、DOM構造すべて。 Popover内のDOM要素をキャプチャしたい。Selenium Webdriver + Pythonを使用してポップオーバーを処理する方法

私はpythonでwebdriverを使用しています。ポップオーバーがしばらくの間ウェブページ上にとどまっているためIDLEを使用するとうまく動作し、DOM構造を取得できます。しかし、私がスクリプトでそれを実行しようとすると、ポップオーバーは単に画面上で点滅し、私はDOM構造をキャプチャできません。

私はWebDriverWait、Actions APIなどを試してみましたが、何も問題はありません。すべてのポインタが評価されます。ありがとう。

答えて

0

アクションを使用して、要素の上にマウスを移動します。ストレートなアプローチは、このような何か(申し訳ありませんコードはC#である)である:

IWebElement element = driver.FindElement(By.Id("something")); 
Actions action = new Actions(driver); 
actions.MoveToElement(element); 
actions.Perform(); 

//get the DOM structure 

重要Perform()コールを忘れないことです。これがうまくいかない場合(時にはそうでない場合もあります)、MoveToElementClickAndHoldに置き換えます。通常、これはマウスオーバーポップアップが無期限に開くようにします。

関連する問題