2017-07-04 134 views
0

所以我有這種形式的反垃圾郵件。因爲它爲每個輸入創建了大約9個輸入。這個輸入有'NameInput'+ X的id,其中x是生成的數字(從1到9 - 取決於輸入的數量)。我使用的是PHP,我想選擇一個可見的輸入。我會使用id,但是每次頁面加載時,由於每次輸入的id可見時的隨機數都不相同。 我google了它,並試圖找到一個代碼,選擇id(它的第一部分是所有輸入相同)和顯示樣式。嘗試了很多代碼片段,但沒有成功。這是我現在的地方,但我得到了這個錯誤。Selenium Webdrive找到可見元素

無效或非法選擇

$this->_webDriver->findElement(WebDriverBy::cssSelector('[id^=NameInput]:not[style=display:none]')) 

任何幫助將是巨大的!

回答

0

所以這是我結束了:

$nameInputs = $this->_webDriver->findElements(WebDriverBy::cssSelector('input[id^="NameInput"]')); 
    foreach ($nameInputs as $name) { 
     if($name->getCSSValue('display') === 'block') { 
      $name->sendKeys('Jellos'); 

它可以幫助別人!