Selenium Webdrive找到可见元素

时间:2017-07-04 08:27:29

标签: php selenium-webdriver webdriver

所以我有这个反垃圾邮件的表格。因此,它为每个输入创建大约9个左右的输入。这些输入具有' NameInput' + X其中x是生成的数字(从1到9 - 取决于输入的数量)。我正在使用php,我想选择一个可见的输入。我会在每次加载页面时使用id,因为每次输入的id可见时的随机数是不同的。 我用谷歌搜索它并试图找到一个代码来选择id(它的第一部分对于所有输入都是相同的)和显示样式。尝试了很多代码片段但没有成功。这就是我现在所处的位置,但我收到了这个错误。

  

无效或非法选择器

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

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

所以这就是我最终的结果:

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

这可能对某人有帮助!