0

で使用selenium webdriverjavaていて、ある場所で立ち往生しました。実際にはページにテーブルがあり、各行を選択するとページがポストバックされ、ユーザーが次のページに移動します。でHTML javascript使用されています。のHTMLページは次のようになります。

    <td>onclick="javascript:__doPostBack('ctl00$DefaultContent$WorklistCtrl$WorklistView',
'Select$4')"
onmouseout="this.style.textDecoration='none';" 
onmouseover="this.style.cursor='pointer';this.style.textDecoration='underline';"
style="cursor: pointer; text-decoration: none;" kalis, jack </td>

これは、クリックしたいテーブルの行データです。テーブルのセルに kalis,jack が表示され、その後ろにこのコードが配置されます。これにマウスを置くと、リンクのように機能しますが、 in を使用webdriverしてクリックすることはできませんselenium

助けてください。よろしくお願いします

4

3 に答える 3

0

リンクをクリックすると、新しいポップアップ ウィンドウが開きますか、それとも他のページに移動するだけですか?

以下はあなたの問題に関連しています。見て、

Selenium を使用して ASP.NET UpdatePanel 内にあるポストバック リンクを自動化する際の問題

https://groups.google.com/forum/?fromgroups=#!topic/selenium-users/pYEZR7OAfpA

于 2013-04-16T13:39:40.383 に答える
0
WebElement cell = driver.findElement(By.xpath("//table[@id='']/tr[x]/td[y]"));
dell.click();

例 : セル 4 をキャッチしましょう

<table id="tb123"> //table
  <tr> //table/tr[0]
    <td>Cell 1</td> //table/tr[0]/td[0] 
    <td>Cell 2</td> //table/tr[0]/td[1] 
  </tr>
  <tr> //table/tr[1]
    <td>Cell 3</td> //table/tr[1]/td[0]
    <td>Cell 4</td> //table/tr[1]/td[1]
  </tr>
</table>

あなたのxpathは次のようになります: //table[@id='tb123']/tr[1]/td[1]

于 2013-04-16T06:25:29.220 に答える
0

以下のコードを試してください:

    WebElement ele = driver.findElement(By.xpath("//td[cotains(text(),'kalis, jack')"));
    ele.click();

また

    WebElement ele = driver.findElement(By.xpath("//td[cotains(text(),'kalis, jack')"));
    new Actions(driver).moveToElement(ele).perform();
    ele.click();
于 2013-04-16T06:20:42.383 に答える