标签: xpath

XPath:在包含函数中使用正则表达式

我想sometext12345_text使用下面的正则表达式匹配以下文本.我在我的一个硒测试中使用它.

String expr = "//*[contains(@id, 'sometext[0-9]+_text')]";
driver.findElement(By.xpath(expr));
Run Code Online (Sandbox Code Playgroud)

它似乎不起作用.有人可以帮忙吗?

regex xpath contains selenium-webdriver

48
推荐指数
3
解决办法
11万
查看次数

如何使用xpath检查xml中是否存在元素?

下面是我的元素层次结构.如何检查(使用xpath)AttachedXml元素存在于主要使用者的CreditReport

<Consumers xmlns="http://xml.mycompany.com/XMLSchema">
       <Consumer subjectIdentifier="Primary">
          <DataSources>
               <Credit>
                   <CreditReport>
                      <AttachedXml><![CDATA[ blah blah]]>
Run Code Online (Sandbox Code Playgroud)

xml xpath

47
推荐指数
3
解决办法
12万
查看次数

如何通过python webdriver查找父元素?

是否有任何方法可以让python + selenium找到父元素,兄弟元素或子元素

driver.find_element_parent?
driver.find_element_next?
driver.find_element_previous

例如:

<tr>
  <td> 
     <select>
        <option value=0, selected='selected'> </option> 
        <option value=1, > </option>
        <option value=2,> </option>
     </select>
   </td>
   <td> 'abcd'
     <input name='A'> </input>
    <td>
<tr>
Run Code Online (Sandbox Code Playgroud)

我尝试过如下,但失败了:

input_el=driver.find_element_by_name('A')
td_p_input=find_element_by_xpath('ancestor::input')
Run Code Online (Sandbox Code Playgroud)

如何获取input元素的父元素,最后选择选项

python selenium xpath parent-child selenium-webdriver

47
推荐指数
2
解决办法
4万
查看次数

如何使用XPath仅选择可见元素?

我有一个GWT应用程序,我正在尝试使用Selenium编写一些测试.

我正在使用XPath来识别测试页面上的元素.使用id将不起作用,因为idGWT自动生成值并且可以更改.当我意识到我可以通过他们的标签找到按钮时,情况开始顺利,如下所示:

//button[.='OK']
Run Code Online (Sandbox Code Playgroud)

但是,当我开始运行多个测试时,我开始遇到问题.我意识到问题是一旦由Javascript生成的GWT应用程序的所有不同"页面"保留在隐藏<div>元素的HTML中.这意味着我的Selenium测试有时会单击隐藏按钮而不是当前视图中可见的按钮.

使用Firebug检查HTML ,似乎GWT <div>通过添加属性display: none来隐藏元素style.这意味着我可以找到所有隐藏的OK按钮,如下所示:

//div[contains(@style,'display: none')]//button[.='OK']
Run Code Online (Sandbox Code Playgroud)

这会发现所有的隐藏的按钮OK,即它有一个祖先的按钮<div>被具有隐藏display: nonestyle.

我的问题是:如何使用XPath只查找可见的OK按钮?如何找到它们没有什么祖先的按钮<div>与元素display: nonestyle

gwt selenium xpath

46
推荐指数
2
解决办法
8万
查看次数

使用XPath访问XML中的注释

如何使用XPath访问XML文档中的注释?

例如:

<table>
<length> 12 </length>
<!--Some comment here-->
</table>
Run Code Online (Sandbox Code Playgroud)

我想访问"这里的一些评论".

谢谢...

编辑:我正在使用MSXML DOM ActiveX和命令注释()似乎失败...任何想法为什么?

xpath

46
推荐指数
2
解决办法
3万
查看次数

什么XPath在包含X的<tr>之后选择下一个<tr>?

<tr>
 <td>Blah!</td>
 <td>X</td> <!-- TR containing X -->
 <td>Woot!</td>
</tr>
<tr>
 <td>Useful Data, contents unknown</td> <!-- Select this TR -->
</tr>
<tr>
 <td>Useless data</td> <!-- Don't select this or any subsequent TR -->
</tr>
<tr>
 <td>More crap I don't want</td>
</tr>
<tr>
 <td>X</td> <!-- Another X -->
</tr>
<tr>
 <td>Useful</td> <!-- Do select this one, since previous has X -->
</tr>
Run Code Online (Sandbox Code Playgroud)

什么XPath会<tr><tr>包含X之后立即返回?

xhtml xpath

46
推荐指数
3
解决办法
4万
查看次数

什么是XPath表达式才能找到第一个出现的?

我使用了这个Xpath表达式,"//span[@class='Big']"并获得了该页面中<span>标记和下的所有元素class='Big'.

我的问题是,如果我只想在页面上第一次出现,而不是所有出现,那么正确的Xpath表达式是什么?

谢谢,娜琳

xml xpath expression

46
推荐指数
2
解决办法
6万
查看次数

Web配置转换:如果不存在则插入

当且仅当目标中不存在匹配的元素时,我想应用转换.使用http://webconfigtransformationtester.apphb.com/尝试各种xpath表达式,但到目前为止没有运气.

例如,如果目标web.config看起来像这样:

<configuration>
  <system.web>
    <compilation debug="true" />
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后输出应该如下所示:

<configuration>
  <connectionStrings>
    <add name="MyCs" provider="System.Data.SqlClient" connectionString="" />
    <add name="SomeOtherCs" provider="System.Data.SqlClient" connectionString="" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" />
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但如果目标看起来像这样:

<configuration>
  <connectionStrings>
    <add name="MyCs" provider="System.Data.IChangedIt" connectionString="my connection string here" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" />
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后转换的结果应如下所示:

<configuration>
  <connectionStrings>
    <add name="MyCs" provider="System.Data.IChangedIt" connectionString="my connection string here" />
    <add name="SomeOtherCs" provider="System.Data.SqlClient" connectionString="" />   
  </connectionStrings>
  <system.web>
    <compilation debug="true" />
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

换句话说,我只想将命名连接字符串添加到配置中,但让管理员用自己的值填充它.我认为它会如此简单xdt:Transform="Insert" xdt:Locator="XPath(count(/configuration/connectionStrings)=0)"(如果不存在则添加cs配置节)但显然不是.

xpath web-config web-config-transform

46
推荐指数
4
解决办法
2万
查看次数

Xpath"ends-with"不起作用

我试图找到一个动态ID名称始终以"register"结尾的输入元素.到目前为止我试过这个

"//input[@id[ends-with(.,'register')]]"
Run Code Online (Sandbox Code Playgroud)

还有这个

"//input[ends-with(@id,'register')]"
Run Code Online (Sandbox Code Playgroud)

这些都不会导致元素.我究竟做错了什么?同时这工作:

"//input[@id[contains(.,'register')]]"
Run Code Online (Sandbox Code Playgroud)

这是源的一部分:

<td class="input">
<input id="m.f0.menu.f2.volumeTabs.BLOCK_COMMON.tcw.form.register" name="m.f0.menu.f2.volumeTabs.BLOCK_COMMON.tcw.form.register" class="aranea-checkbox" type="checkbox"> </td>
Run Code Online (Sandbox Code Playgroud)

xpath ends-with

46
推荐指数
2
解决办法
5万
查看次数

如何忽略xpath中的第一个元素

如何忽略第一个元素并获取其余元素?

<ul>
  <li><a href="#">some link</a></li>
  <li><a href="#">some link 2</a></li>
  <li><a href="#">link i want to find</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

谢谢

xpath

45
推荐指数
2
解决办法
3万
查看次数