webdriver获取变色的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdriver获取变色的元素相关的知识,希望对你有一定的参考价值。

在WebDriver中,可以使用javascript来获取变色的元素。JavaScript可以通过获取元素的颜色属性来判断元素是否变色。可以使用JavaScript的getComputedStyle()方法来获取元素的颜色属性,然后使用JavaScript的if语句来判断元素是否变色,如果变色,则执行相应的操作。此外,还可以使用JavaScript的addEventListener()方法来监听元素的变色事件,当发生变色时,可以执行相应的操作。 参考技术A 如果要使用Webdriver获取变色的元素,你可以使用Chrome Driver来进行操作。首先,使用Chrome Driver打开网站,然后使用Chrome Driver来寻找页面中变色的元素,并使用相应的API方法获取该元素的信息。

使用 webdriver 从 javascript 警报中获取文本元素

【中文标题】使用 webdriver 从 javascript 警报中获取文本元素【英文标题】:Get text element from a javascript alert using webdriver 【发布时间】:2014-03-25 23:49:26 【问题描述】:

我在 c# 中使用 selenium webdrive 来学习和编写自动化测试,我遇到过这种情况:

假设您有一个这样的网站:http://referencewebapp.qaautomation.net/register.php,然后您会收到带有错误消息的弹出窗口作为 javascript 警报(例如,如果您在未填写任何信息的情况下按注册)。我需要做的是检查警报中的错误消息(文本)。

我无法使用 driver.FindElement 或 drive.PageSource,因为我看不到它的源代码。我读到了关于尝试选择/更改框架(Selenium cannot get alert thrown in iframe),但我不知道 frameID 是如何。有什么办法可以找到并检查该文本吗?

感谢您的任何建议。

【问题讨论】:

【参考方案1】:
 driver.SwitchTo().Alert().Text;

应该是你所需要的。

【讨论】:

非常感谢!完成了这项工作!【参考方案2】:

您可以尝试使用 selenium Alert 对象获取警报(对话框)的文本。

例如:

    Alert alert = driver.switchTo().alert();
    String alertText = alert.getText();
    if (alertText.equals("error...")) 

        // Do Something...

        // dismiss alert
        alert.dismiss();

    

更多信息在selenium 2.0 documentation.

【讨论】:

谢谢,这很有帮助!

以上是关于webdriver获取变色的元素的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 webdriver 获取元素的所有后代?

如何在 webdriver 中获取元素的当前内容

Selenium-Webdriver:找到元素后获取属性

使用 webdriver 从 javascript 警报中获取文本元素

python-selenum3 第六天——WebDriver 常用API

如何在 Selenium WebDriver 中获取元素的文本,而不包括子元素文本?