2017-07-04 52 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'); 

它可以帮助别人!