2017-07-13 6 views
-1

javascriptとセレンについては、私は新人です。私はカートのプロジェクトに簡単な追加を作成しましたが、現在私はいくつかの問題を抱えている私は現在作業中です。 HTMLコード:セレンでボタンをクリックできない

<div class="buttons-set" id="shipping-method-buttons-container"> 
<button type="button" class="dark" onclick="shippingMethod.save()" onkeypress="shippingMethod.save()">Continue</button> 
<span id="shipping-method-please-wait" class="please-wait icon icon--notch" style="display:none;"> 
Loading next step... </span> 
</div> 

[続行]ボタンをクリックするとわからないことがあります。私は、

driver.findElement(By.linkText("Continue")).click(); 
driver.findElement(By.xpath(//*[@id='shipping-method-buttons-container']/button)).click(); 

などのようなものを試していますが、それ以外の多くの組み合わせは動作していないようです。

答えて

0

は、そのクラス名で要素を取得してみてください。

driver.find_element_by_class_name("dark").click(); 
+0

この方法も試しただけで、まだ応答しません。 HTMLコードには「暗い」という名前のクラスが複数ありますが、その部分が果たしているかどうかはわかりません。 –

+0

はい、その場合、n番目の子供が必要です。 –

0

私はあなたが暗黙の待機を使用していると信じています。そうでない場合は、追加する必要があります。

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 

xpath以下も試してください。

driver.findElement(By.xpath("//button[contains(text(),'Continue']")).click(); 

これが役立ちます。ありがとう。

-1

cssSelectorロケータを使用してコードを試してみてください。

driver.findElement(By.cssSelector("button[class='dark'][type='button']")).click(); 

OR

java-script executorを使用して、ボタンをクリックしてください。

WebElement continue_button = driver.findElement(By.cssSelector("button[class='dark'][type='button']")); 
((JavascriptExecutor) driver).executeScript("arguments[0].click();", continue_button); 
+0

この回答を投票した理由は何ですか? –

関連する問題