首页 > 解决方案 > 如何使用字符串值修复黄昏 $browser->select()

问题描述

我有一个过滤器,一个选项是选择设备类型。有一个可能的选项列表,您只能使用其中一个选项(所以没有纯文本)

过滤器字段被命名为 typ_id 并且可以使用

$browser->select('type_id') 

我想使用的变量被称为

$type_id = "Laptop"

所以我的第一次尝试是

$browser->select('type_id',$type_id)

但这不起作用。

所以只是为了检查我用过

$browser->select('type_id',1)

这可行,但不是一个选项,因为我想使用字符串“笔记本电脑”来选择类型。

这是过滤器和类型 html 代码的屏幕截图:

筛选

如何使用“笔记本电脑”(或 $type_id)来选择笔记本电脑选项?

标签: phphtmllaravellaravel-duskbrowser-testing

解决方案


这里的问题是您对使用的解释select(selectTagId, optionValue)不正确。

您的代码在您这样做时有效,select('type_id',1)因为您使用了正确的选项值,而在您使用时它不起作用,select('type_id', 'Laptop')因为“笔记本电脑”是显示文本而不是选项值。

所以如果你想使用select('type_id','Laptop'),你应该将你的选项标签从 更新<option value=1><option value="Laptop">


推荐阅读