2016-12-23 5 views
1

私はこの問題の答えを一掃するために終日スタックオーバーフローしています。私は近くにいるように感じますが、私が何をしても、私はまだプログラムを渡すことができません。ここに私がやろうとしていることがあります:JavaでSeleniumを使用しています - テーブル内の要素を認識できません

私は週ごとに行くオンラインカレンダーがあります。毎週クリック可能で、その週に合わせてスケジュールが変更されます。これは、私のようなルックスをクリックしようとしていますどのような特定の行です:

<tr align="right" class="Calendar" id="Week5" valign="bottom" 
    onmouseover="highlightRow(5, 'high');" onmouseout="highlightRow(5, 'low');" 
onclick="selectRow(5);" bgcolor="#ccffcc"> 

         <td>25</td> 
         <td>26</td> 
         <td>27</td> 
         <td>28</td> 
         <td>29</td> 
         <td>30</td> 
         <td>31</td> 
         <td></td> 
         </tr> 

だから私は、これはマウスオーバーであり、あなたはそれの上にカーソルを移動するまで、それは(右?)クリック可能になっていません。何があって私と認識します週5をクリック可能な要素として認識させることはできません。私はこれを追加しようとしました:

WebDriverWait wait = new WebDriverWait(driver, 10); 
     WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("Week5"))); 

しかし、それはまだ要素としてWeek5を見つけることができないと私に伝えます。また、私は近くに取得していますように私は感じるこの

Actions builder = new Actions(driver); 
      builder.moveToElement(driver.findElement(By.id("Week5"))).click().build().perform(); 

みましたが、大きな問題は、私はそれがその要素を認識するために得ることができないです。私はテーブルのxpathを使ってみましたが、それはどちらもうまくいきませんでした。多分私はそれを正しくしなかったでしょう。誰かが非常に少ない正式なコンピュータサイエンストレーニングでこのn00bを助けることができますか?

おかげで、 スコット

答えて

0

次のロケータ

また
By.xpath("//tr[contains(@id, 'Week5')]") 

を使用してみてください、現在のロケータと、その要素は、Webページ上の最初のものですチェック! 希望、それはあなたの質問の答えの詳細については、私が今働いているWebページ上のリンクを送ってください。

+0

お試しいただきありがとうございます。それは動作しませんでした - まだ "要素を見つけることができません"と言われています。私はウェブページ上のリンクを送るのが大好きですが、それは仕事場の内部ウェブサイトのためのものです - あなたはそれにアクセスできるようにここで働く必要があります...あなたの助けに感謝します! – Munchy

関連する問題