我使用PHP WebDriver和Selenium创建了一个测试。现在我想确保元素中包含某个文本。我怎么做?我试过了:
$web_driver->wait(3)->until(
WebDriverExpectedCondition::textToBePresentInElement(WebDriverBy::cssSelector('.cart-price span.price'), '55,00 €')
);
但是这总是以TimeoutException结束。没有办法真正使用这样的东西:
assertTrue(WebDriverExpectedCondition::textToBePresentInElement(WebDriverBy::cssSelector('.cart-price span.price'), '55,00 €'))
感谢您的帮助!
答案 0 :(得分:0)
$web_driver->wait(3)->until(
WebDriverExpectedCondition::textToBePresentInElement(
WebDriverBy::cssSelector('.cart-price span.price'), '55,00 €'
)
);
对我来说已经是assertTrue
了。如果它在3秒内找不到包含特定文本的元素,则抛出TimeoutException
。
如果您在浏览器上看到文本,可能会发现WebDriverBy
找不到任何元素,或者有多个元素且驱动程序正在获取与{{1}匹配的另一个元素}。
答案 1 :(得分:-1)
如果您使用的是PHP,则可能需要更改
max_execution_time
在PHP.ini文件中。
这设置了PHP脚本可以运行的秒数。