有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java问题查找具有不同值的CSS选择器

我对具有不同关联值的选择器有意见,目前我有4个元素:

data-qa-pick-title="0"
data-qa-pick-title="1"
data-qa-pick-title="2"
data-qa-pick-title="3"

但目前,我收到了警告:

org.openqa.selenium.InvalidSelectorException: invalid selector: An invalid or illegal selector was specified

当我使用data-qa-pick-title="0"

我猜这是因为=“0”部分,但我似乎不知道在这里使用什么属性

HTML:

<article class="_ua2rle">
   <article class="_p518npy">
      <div class="_1woz4hd">
         <div>
            <h1 data-qa-game-name="" class="_1dg3j5db">Multi Day Game</h1>
            <h2 class="_1ah1pl68">9/18 - 9/21</h2>
            <section aria-label="game_prize" class="_1eiqo0c">
               <p aria-label="game_prize_prefix" class="_nuf05ac" data-qa-prize-label="">Prize:</p>
               <h1 data-qa-prize-value="" aria-label="game_prize_description" class="_1usxso2m">€10</h1>
            </section>
         </div>
         <div class="_aryvye">
            <div class="_1rzj9z6">
               <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="16px" height="17px" class="_1tdu91v4">
                  <title>Number of players</title>
                  <g>
                     <g>
                        <circle cx="50" cy="24.8" r="24.6"></circle>
                        <path d="M99.2,87.8c0,4.4,0,12.2,0,12.2H0.8c0,0,0-7.7,0-12.2c0-13.6,22-24.6,49.2-24.6
                           S99.2,74.2,99.2,87.8z"></path>
                     </g>
                  </g>
               </svg>
               <span class="_1nrqntf5" data-qa-num-players-value="">1</span>
            </div>
            <div class="_1iw4ka9">
               <p class="_13z1sq2">–</p>
               <div class="_1s8d7xt">
                  <div data-qa-pick-state="0">
                     <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                        <title>Pick</title>
                        <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                        <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                     </svg>
                  </div>
               </div>
               <div class="_1s8d7xt">
                  <div data-qa-pick-state="0">
                     <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                        <title>Pick</title>
                        <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                        <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                     </svg>
                  </div>
               </div>
               <div class="_1s8d7xt">
                  <div data-qa-pick-state="0">
                     <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                        <title>Pick</title>
                        <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                        <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                     </svg>
                  </div>
               </div>
               <div class="_1s8d7xt">
                  <div data-qa-pick-state="0">
                     <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                        <title>Pick</title>
                        <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                        <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                     </svg>
                  </div>
               </div>
            </div>
         </div>
      </div>
      <div class="_1cex955">
         <div class="_z0cnykj"></div>
      </div>
   </article>
   <div class="_by9jvv">
      <section class="_19gaaoo">
         <div>
            <p data-qa-pick-title="0" class="_3cal6hx">Pick:</p>
            <p data-qa-market-title="0" class="_3cal6hx">Market:</p>
            <p data-qa-fixture-title="0" class="_3cal6hx">Fixture:</p>
            <p data-qa-date-title="0" class="_3cal6hx">Date:</p>
            <p data-qa-points-title="0" class="_myfp0gx">Points:</p>
         </div>
         <div class="_bc4egv">
            <p data-qa-pick-value="0" class="_5953se3">Draw</p>
            <p data-qa-market-value="0" class="_5953se3">Full Time Result</p>
            <p data-qa-fixture-value="0" class="_5953se3">Leeds United vs Preston North End</p>
            <p data-qa-date-value="0" class="_5953se3">Sep 18, 7:45 PM</p>
            <p data-qa-points-value="0" class="_1lauivqf">350</p>
         </div>
         <div class="_1rzj9z6">
            <div class="_nv9fvh">
               <div data-qa-pick-state="0">
                  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                     <title>Pick</title>
                     <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                     <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                  </svg>
               </div>
            </div>
         </div>
      </section>
      <section class="_19gaaoo">
         <div>
            <p data-qa-pick-title="1" class="_3cal6hx">Pick:</p>
            <p data-qa-market-title="1" class="_3cal6hx">Market:</p>
            <p data-qa-fixture-title="1" class="_3cal6hx">Fixture:</p>
            <p data-qa-date-title="1" class="_3cal6hx">Date:</p>
            <p data-qa-points-title="1" class="_myfp0gx">Points:</p>
         </div>
         <div class="_bc4egv">
            <p data-qa-pick-value="1" class="_5953se3">Wigan Athletic</p>
            <p data-qa-market-value="1" class="_5953se3">Full Time Result</p>
            <p data-qa-fixture-value="1" class="_5953se3">Wigan Athletic vs Hull City</p>
            <p data-qa-date-value="1" class="_5953se3">Sep 18, 7:45 PM</p>
            <p data-qa-points-value="1" class="_1lauivqf">195</p>
         </div>
         <div class="_1rzj9z6">
            <div class="_nv9fvh">
               <div data-qa-pick-state="0">
                  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                     <title>Pick</title>
                     <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                     <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                  </svg>
               </div>
            </div>
         </div>
      </section>
      <section class="_19gaaoo">
         <div>
            <p data-qa-pick-title="2" class="_3cal6hx">Pick:</p>
            <p data-qa-market-title="2" class="_3cal6hx">Market:</p>
            <p data-qa-fixture-title="2" class="_3cal6hx">Fixture:</p>
            <p data-qa-date-title="2" class="_3cal6hx">Date:</p>
            <p data-qa-points-title="2" class="_myfp0gx">Points:</p>
         </div>
         <div class="_bc4egv">
            <p data-qa-pick-value="2" class="_5953se3">Draw</p>
            <p data-qa-market-value="2" class="_5953se3">Full Time Result</p>
            <p data-qa-fixture-value="2" class="_5953se3">Aston Villa vs Rotherham United</p>
            <p data-qa-date-value="2" class="_5953se3">Sep 18, 7:45 PM</p>
            <p data-qa-points-value="2" class="_1lauivqf">433</p>
         </div>
         <div class="_1rzj9z6">
            <div class="_nv9fvh">
               <div data-qa-pick-state="0">
                  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                     <title>Pick</title>
                     <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                     <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                  </svg>
               </div>
            </div>
         </div>
      </section>
      <section class="_19gaaoo">
         <div>
            <p data-qa-pick-title="3" class="_3cal6hx">Pick:</p>
            <p data-qa-market-title="3" class="_3cal6hx">Market:</p>
            <p data-qa-fixture-title="3" class="_3cal6hx">Fixture:</p>
            <p data-qa-date-title="3" class="_3cal6hx">Date:</p>
            <p data-qa-points-title="3" class="_myfp0gx">Points:</p>
         </div>
         <div class="_bc4egv">
            <p data-qa-pick-value="3" class="_5953se3">Draw</p>
            <p data-qa-market-value="3" class="_5953se3">Full Time Result</p>
            <p data-qa-fixture-value="3" class="_5953se3">Ipswich Town vs Brentford</p>
            <p data-qa-date-value="3" class="_5953se3">Sep 18, 7:45 PM</p>
            <p data-qa-points-value="3" class="_1lauivqf">360</p>
         </div>
         <div class="_1rzj9z6">
            <div class="_nv9fvh">
               <div data-qa-pick-state="0">
                  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="_1x3k1as">
                     <title>Pick</title>
                     <circle class="_1t4d67p" r="16" cx="16" cy="16" stroke="#DDDDDD" stroke-dasharray="0 100"></circle>
                     <circle class="_1f2xgws" stroke="#DDDDDD" r="16" cx="16" cy="16"></circle>
                  </svg>
               </div>
            </div>
         </div>
      </section>
      <section class="_rci9mp">
         <div class="_jro6t0">
            <div>
               <p class="_12nchi6">Entry Fee:</p>
               <p class="_12nchi6">Date Placed:</p>
               <p class="_12nchi6">Unique ID:</p>
            </div>
            <div>
               <p class="_nqzawj">Free To Play</p>
               <p class="_nqzawj">Sep 17, 3:30 PM</p>
               <p class="_xswzd0s">17u9wadfk1c_efcb68b5-446a-430f-8c97-56027658682b</p>
            </div>
         </div>
      </section>
   </div>
</article>

共 (2) 个答案

  1. # 1 楼答案

    请尝试以下CSS选择器:

    List<WebElement> all = driver.findElements(By.cssSelector("p._3cal6hx:nth-child(1)"));
    

    并循环遍历所有元素以进一步使用

  2. # 2 楼答案

    是否尝试使用下拉列表选择元素? 你能显示你想要选择的元素的HTML部分和你使用的代码吗

    如果是下拉列表

    Select title= new Select(driver.findElement(By.id("yourID")));
        title.selectByIndex(0);
    

    这可能有用