私は以下のコードを使用する前にこれまでいくつかの成功を収めました。ここでセレンのJavaでボタンをクリックできません
driver.findElement(By.xpath("//xpath")).click();
driver.findElement(By.xpath("//div[@id='container']/div[@id='main']/div[@id='columnOne']/div[@class='ng-scope']/div[@class='content ng-scope']/div/div[@class='ng-isolate-scope']/div[@class='tab-content']/div[@class='tab-pane ng-scope active']/div[@class='ng-scope']/div[@id='uploadRequests']/div[@id='fileUploadPanel']/div[@class/span[@class='btn btn-primary']='panel-body']/div/div[@class='panel panel-default']/div[@class='panel-heading clearfix']/div[@class='pull-left']/label")).click();
はhtmlです:
<div class="panel-body">
\t \t \t <div>
\t \t \t \t <div class="panel panel-default">
\t \t \t \t \t <div class="panel-heading clearfix">
\t \t \t \t \t \t <div class="pull-left">
\t \t \t \t \t \t \t <label for="inputFile"><input class="hidden" type="file" name="inputFile" id="inputFile" on-change-action="addFile" multiple="">
\t \t \t \t \t \t \t \t <span class="btn btn-primary xh-highlight"><i class="glyphicon glyphicon-plus"></i>Add</span>
\t \t \t \t \t \t \t </label>
\t \t \t \t \t \t </div>
\t \t \t \t \t \t <div class="pull-right ng-hide" ng-show="files.length > 0"><button ng-click="removeAll()" class="btn btn-primary"><i class="glyphicon glyphicon-remove"></i>Clear All</button></div>
\t \t \t \t \t </div>
\t \t \t \t \t <!-- ngRepeat: file in files -->
\t \t \t \t \t <div class="panel-body ng-hide" ng-show="progressBar">
\t \t \t \t \t \t <div>
\t \t \t \t \t \t \t <div class="progress-striped active progress ng-isolate-scope" value="uploadProgress" type="info">
<div class="progress-bar progress-bar-info" ng-class="type && 'progress-bar-' + type" role="progressbar" aria-valuenow="" aria-valuemin="0" aria-valuemax="100" ng-style="{width: (percent < 100 ? percent : 100) + '%'}" aria-valuetext="%" aria-labelledby="progressbar" ng-transclude="" style="width: 100%;"></div>
</div>
\t \t \t \t \t \t </div>
\t \t \t \t \t \t <div>
\t \t \t \t \t \t \t <button class="btn btn-primary" ng-click="progressBar = false">Continue</button></div>
\t \t \t \t \t \t </div>
\t \t \t \t \t </div>
\t \t \t \t </div>
\t \t \t </div>
私は通常By.className(クラス名)、By.id(ID)によってを試してみてください。 By.linkText(linkText)By.xpathの前にがありますが、ここでも最後の手段として私はできませんoサイトにログオンした後、[ファイルを追加]ボタンをクリックします。
このコードを試してみてください - 。 'driver.findElement(By.xpath( "//スパン[クラス@ = 'BTN-主要BTN']"))(クリック) ; –
このコードを試してください: - driver.findElement(By.cssSelector( "span.btn.btn-primary"))。 – kushal