我有以下html,我想使用selenium PHP-webdriver选择关闭(可选)的第三个选项。谁能告诉我怎么办?
在此HTML中,动态生成所有 ID 。所以我不能使用id来查找元素,例如我不能使用它:
$driver->findElement(WebDriverBy::id('ajax-item-ExchangeEmail-12345'));
我们可以使用cssSelector()或xpath()吗?如果是,那怎么办?
感谢。
<div id="ajax-item-12345" class="input-group" title="ExchangeEmail">
<label class="input-group-addon" for="ajax-item-ExchangeEmail-12345">ExchangeEmail</label>
<select id="ajax-item-ExchangeEmail-12345" class="form-control" name="category_resource[12345]">
<option value="2">On (mandatory)</option>
<option value="1">On (optional)</option>
<option value="0">Off (optional)</option>
<option value="3">Off (mandatory)</option>
</select>
</div>
答案 0 :(得分:1)
使用 cssSelector()和 selectByVisibleText()函数,我现在可以选择任何我想要的选项。感谢。
with(new WebDriverSelect($driver->findElement(WebDriverBy::cssSelector('div[title="ExchangeEmail"] select'))))
->selectByVisibleText('Off (optional)');
答案 1 :(得分:0)
epochs
命令可用于使用标签文本从下拉字段中选择列表选项:
示例,要使用CSS选择器:
selectByVisibleText()
示例,要使用XPath:
$selectDiv = WebDriverBy::cssSelector('div[title="ExchangeEmail"] select');
$selectElement = new WebDriverSelect($driver->findElement($selectDiv));
$selectElement->selectByVisibleText('Off (optional)');