1

国のリストからカナダをクリックしたいので、この要素を一致させる方法を教えてください。Selenium (IDE/WebDriver) が要素を見つけられません。私はWebdriverで試しました:

driver.FindElement(By.XPath(".//*[@class='slick-viewport']/*[@class='grid-canvas']/*[@class='ui-widget-content slick-row odd']/*[@class='slick-cell l1 r1 active selected']")).click();

Firepath は次の XPath を提供します。

.//*[@id='assetsTable']/div[5]/div/div[5]/div[2]

これらのどちらも機能していません。明らかに、私は正しくやっていません。ID は動的に生成され、ネストされているため、解決するのは非常に困難です。誰か見て、ロケーターの正しい方法を教えてください。

どうもありがとう

PS: 画像のアップロードが許可されていないようです。したがって、以下の内容をコピーして貼り付けます。

<!DOCTYPE html>
<html class="dj_gecko dj_contentbox">
<head>
<body id="bodyID">
<div id="pageDiv" class="page">
<div id="header">
<div id="main">
<ul id="mainMenu" class="menuTab">
<div id="partialHost" style="height: 345.117px;">
<div id="assetsBreadcrumbDiv">
<div id="assetsGridDiv">
<ul id="assetMenu" class="menuTab">
<div id="assetsTable" class="defaultGrid slickgrid_109601 ui-widget" style="overflow: hidden; outline: 0px none; position: relative; height: 269.117px; width: 1562px;">
<div style="position:fixed;width:0;height:0;top:0;left:0;outline:0;" hidefocus="" tabindex="0"></div>
<div class="slick-header ui-state-default" style="overflow:hidden;position:relative;">
<div class="slick-headerrow ui-state-default" style="overflow: hidden; position: relative; display: none;">
<div class="slick-top-panel-scroller ui-state-default" style="overflow: hidden; position: relative; display: none;">
<div class="slick-viewport" style="width: 100%; overflow: auto; outline: 0px none; position: relative; height: 242px;">
<div class="grid-canvas" style="width: 1545px; height: 5975px;">
<div class="ui-widget-content slick-row odd" style="top:775px">
<div class="ui-widget-content slick-row even" style="top:800px">
<div class="ui-widget-content slick-row odd" style="top:825px">
<div class="ui-widget-content slick-row even" style="top:850px">
<div class="ui-widget-content slick-row odd" style="top:875px">
<div class="slick-cell l0 r0 selected">CA</div>
<div class="slick-cell l1 r1 active selected">CANADA</div>
<div class="slick-cell l2 r2 selected">Y</div>
<div class="slick-cell l3 r3 selected"></div>
<div class="slick-cell l4 r4 selected">CA</div>
</div>
<div class="ui-widget-content slick-row even" style="top:900px">
<div class="ui-widget-content slick-row odd" style="top:925px">
<div class="ui-widget-content slick-row even" style="top:950px">
4

2 に答える 2

3

// div [text()="CANADA"]が機能するはずです。その特定の要素のみが必要な場合。

于 2012-08-22T18:04:21.117 に答える
0

*を使用しないでください。XPathクエリでは明示的にしてください。

これは機能します:

//div[@class='slick-cell l1 r1 active selected']

XPathクエリをFireBugで直接試すと何が得られますか?

于 2012-08-22T15:55:07.617 に答える