Ruby Selenium クラス名のボタンをクリックします

概要

Ruby と Selenium を使用して、以下の 2 つのボタンを使用して Web ページをテストしています。

<div class="AVdis">
  <span class="gwt-InlineHTML"/>
    <a class="AVcur" name="attendEdit"; font-size: 12px;">[edit]</a>
</div>
<div class="lineHeight">
  <button type="button" class="pcbtn" style="display: inline-block;">yes</button>
</div>

使ってみました

driver.find_elements(:class, 'AVcur').click 
driver.find_elements(:class, 'pcbtn').click 

しかしそれはうまくいきません、アドバイスしてください。

ありがとう

完全な HTML コードを更新しました (クラス ‘pcbtn’ の部分コードのみ。クラス ‘AVcur’ の部分は含まれません):

<body>
  <iframe src="javascript:'';" id="__gwt_historyFrame" style="width: 0px; height: 0px; border: 0px; display: block;"/>
  <iframe src="javascript:''" id="Attend" tabindex="-1" style="position: absolute; width: 0px; height: 0px; border: none;"/>
  <div style="display: none;"/>
    <div class="GFKFO5SBPF hBody nClientFalse">
      <div class="left" style="width: 198px;">
        <div class="contents nClientFalse2">
          <div class="AVright">
            <div class="GFKFO5SBIQ">
              <div class="AVfirstTd">
                <table cellspacing="0" cellpadding="0">
                  <tbody>
                    <tr>
                      <td align="left" style="vertical-align: top;">
                        <div>
                          <table cellpadding="0" cellspacing="0" class="pcattd_record" width="630px">
                            <tbody>
                              <tr class="GFKFO5SBCS">
                                <tr class="GFKFO5SBCS">
                                  <th>
                                    <td>
                                      <table class="noborder">
                                        <tbody>
                                          <tr>
                                            <td>
                                            <td>
                                              <div class="lineHeight">
                                                <button type="button" class="pcbtn" style="display: inline-block;">press button</button>

解決策

xpath を使用してクリックしてみます。

driver.find_element(:xpath, "//div[@class='AVdis']//a[@name='attendEdit']").click

2 番目の要素の xpath:

driver.find_element(:xpath, "//div[@class='lineHeight']//button[@class='pcbtn'][text()='yes']").click