当前位置: 首页 > 面试题库 >

XPath到CSS选择器

金阳华
2023-03-14
问题内容

我在selenium测试中有以下xpath语句:

//tbody/tr[td/span[text()='IPODate']]/td[4]/input

它达到了我想要的,但是我的测试在IE6中非常缓慢。有人知道我将如何做与CSS选择器相同的选择器吗?我想我了解如何执行上述操作,但text()=“
IPODate”部分除外。

以下是我要从中选择的表格示例:

<table cellspacing="0" cellpadding="4" border="0" id="tblResearchItems" class="coolTable SingleItem">
        <tbody>

....很多很多行

<td>
    <input type="button" value="A" onclick="sA('secm.Company', 'IPODate', 299)" class="RButton NarrowButton2 A Show_N"/>
</td>
<td class="TCN">
    <span class="CN">IPODate</span><f/>
</td>
<td>
    <g/> 
</td>
<td class="TCV VerticalAlign">
    <input type="text" value="" onfocus="stLT(); hideLB(true)" onblur="mustBeDate($(this));" class="UpUI_Y  date NDD hasDatepicker" id="dp1260909771780"/>
    <img class="ui-datepicker-trigger" src="../images/calendar.gif" alt="..." title="..."/> <div/>
</td>
</tr>

…还有很多行…

在此示例中,只有一行具有IPODate单元。


问题答案:

CSS定位器css=span.CN用于其中包含文本IPODate的跨度。

Saucelabs在博客上对它的工作原理有很好的解释

UPD:
不幸的是,当上下移动时,CSS不会解析整个树,直到找到之后的内容为止。这是XPath这么慢的主要原因。CSS找到一个项目,然后可以在DOM中横向移动。下面的CSS会发现输入框是后TDclass=TCN持有与表中的文本的跨度。

CSS: table > tbody > tr > td.TCN + td + td > input



 类似资料:
  • 问题内容: 我只想自行选择一个名为.date的类 由于某种原因,我无法使它正常工作。如果有人知道我的代码出了什么问题,将不胜感激。 问题答案: 我想写这个问题的规范答案,因为上面的答案有问题。 我们的问题 该 CSS 选择器: 将选择具有 foo 类的任何元素。 您如何在XPath中做到这一点? 尽管XPath比CSS强大,但是 XPath没有CSS类选择器的本机等效项 。但是,有一个解决方案。

  • 主要内容:1. 通用选择器,2. 标签选择器,3. ID 选择器,4. 类选择器,5. 后代选择器,6. 子选择器,7. 相邻兄弟选择器,8. 通用兄弟选择器,9. 分组选择器,10. 属性选择器选择器由 HTML 元素的 id、class 属性或元素名本身以及一些特殊符号构成,用来指定要为哪个 HTML 元素定义样式。选择器是 CSS 样式规则中重要的组成部分,我们可以将选择器看作是 CSS 样式与 HTML 元素之间的匹配模式,与选择器关联的样式规则会应用于选择器所指定的 HTML 元素上。

  • 例如与CSS选择器一起使用,但如何使用XPath表达式呢?

  • 我正在为一个网站编写一个小的测试脚本,作为测试的一部分,程序需要点击Buttons。我正在使用谷歌chrome驱动程序,我尝试了一些功能,例如:driver。findElement(由.cssSelector()驱动)。但是由于某种原因,程序无法识别定位器。 在图片中,我选择了一个按钮来获取其id或类(很抱歉,该网站是希伯来语的)。 主RunnerClass 步骤定义类 功能文件

  • 和画画一样,我们需要改变局部物体的颜色,我们首先需要定位到那里,有时候我们需要把所有的云朵填充成白色,有时候又需要在某个云朵上加上特别的金色。 类似的,CSS选择器就是用来定义我们想要改变哪些(或哪个)元素的样式。 按定位粒度来分,从大到小有通用标签、类(class)、id以及一些混合选择器。下面我们一一介绍。 通用标签(tag)选择器 使用标签名称可以定位所有的同名标签元素 a{ /* 链接 *

  • 问题内容: 问题: 无法从CSS选择器特定元素中选择。需要验证注册用户是否可以成功更改其密码。我试过了类的不同属性来调用它。当尝试前两个示例时,结果是方法中的异常错误。最后的尝试将调用第一个类实例并重置密码字段(失败)。 尝试过: 目的: 我需要选择共享同一班级的项目。如下所示,该类是共享的。 问题答案: 编辑:因为选择器需要一个,或,但是它们本身都不是。 提供要匹配的类名,并从那里指定要选择的特