2

我最近开始使用 Selenium 来测试一个具有 webviews 的应用程序。那么我的 webview 的代码是:

<div class="class1 class2 class3 class4" style="padding: 4px;" id="_6bd7b91a-214c-4075-b7db-dcaa08155e1a"> 
    <span class="class5" style="font-weight: bold; text-decoration: underline;">This is TITLE</span> 
    <div class="class6" dd:contenttype="content_type1" dd:concept="TITLE" id="_1d8c4490-d0c1-42ed-a93e-e92ca570dd32">
     <div class="class7"> 

我正在编写一个可重用的代码来查找自动化测试的元素。在上面的代码中,可以使用两种方式找到元素,我可以根据'dd:concept="TITLE"'或通过文本查找它"This is TITLE";但我在 Selenium 中找不到任何可以按照我想要的方式找到元素的东西。

我正在使用“find_element”来寻找一个元素,但没有什么可以传递'dd:concept="TITLE"'"This is TITLE"作为争论的。

我试过 -driver.find_element(:css, "span.class5")driver.find_element(:css, "div.class1 class2 class3 class4 span.class5")

无论如何我可以使用 Selenium 驱动程序和一些文本作为它的论点在 webview 上找到元素吗?

4

1 回答 1

2

FindElement(By.CssSelector("[dd:concept='TITLE']")) 应该可以工作。

啊,你正在使用红宝石。

我看了一些,你可以试试这个:

find_element(:css, "[dd:concept='TITLE']")

再次编辑。

我建议在标签名称 dd:concept 中转义 :,如下所示:

find_element(:css, "[dd\:concept='TITLE']")

于 2013-07-29T20:18:24.773 回答