2017-07-04 9 views
0

私はこの形式のスパム対策をしています。そのため、各入力に対して約9程度の入力を作成します。この入力は「NameInput」+ Xのidとidを持ち、xは生成された数です(入力数に応じて1から9までです)。私はPHPを使用していると私は目に見える1つの入力を選択したい。 idを使用しますが、ページが読み込まれるたびに、入力のIDが表示されるたびに乱数のために読み込まれます。 私はそれを試してみました。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'); 

それが誰かを助けるかもしれません!

関連する問題