使用PHP Selenium Webdriver单击下拉菜单中的选项?

时间:2013-10-21 09:05:21

标签: php selenium webdriver selenium-webdriver

我正在使用Facebook的PHP Selenium Webdriver包装器。任何人都可以给我一个如何从选择下拉菜单中单击或选择一个选项的示例吗?

我试过这个:

$test = $driver->findElement( WebDriverBy::id('drop1').WebDriverBy::cssSelector("option[value='11']"));
$test->‌​click();

但它出错:

  

消息:类WebDriverBy的对象无法转换为字符串

4 个答案:

答案 0 :(得分:12)

应该是

$test = $driver->findElement( WebDriverBy::id('drop1') )
               ->findElement( WebDriverBy::cssSelector("option[value='11']") )
               ->click();

如果您正在处理“选择”标记,请改用WebDriverSelect

$select = new WebDriverSelect($driver->findElement(WebDriverBy::id('drop1')));
$select->selectByValue('11');

答案 1 :(得分:3)

您想要点击还是选择项目? 如果选择而不是跟随:Facebook framework helper

像:

  

$ selectingContainer = $ driver-> findElement(“locator”);

     

$ selection = new WebDriverSelect($ selectingContainer);

     

$选择 - > selectByVisibleText($文本);

“locator” - 它是下拉菜单元素的定位器。

答案 2 :(得分:2)

尝试以下代码。

$test = $driver->findElement("css selector", 'select[id="drop1"] option[value='11']');
$test->‌​click();

答案 3 :(得分:-1)

这对我有用,希望它有助于某人:)

findElement( WebDriverBy::cssSelector(
                        'div#sku-grid.grid-view table.items thead tr.filters td 
                         select[name="Pro[exception_type]"] option[value="inRetail"]'
                         ));`