我想sometext12345_text使用下面的正则表达式匹配以下文本.我在我的一个硒测试中使用它.
String expr = "//*[contains(@id, 'sometext[0-9]+_text')]";
driver.findElement(By.xpath(expr));
Run Code Online (Sandbox Code Playgroud)
它似乎不起作用.有人可以帮忙吗?
下面是我的元素层次结构.如何检查(使用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) 是否有任何方法可以让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元素的父元素,最后选择选项?
我有一个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: none的style.
我的问题是:如何使用XPath只查找可见的OK按钮?如何找到它们没有什么祖先的按钮<div>与元素display: none的style?
如何使用XPath访问XML文档中的注释?
例如:
<table>
<length> 12 </length>
<!--Some comment here-->
</table>
Run Code Online (Sandbox Code Playgroud)
我想访问"这里的一些评论".
谢谢...
编辑:我正在使用MSXML DOM ActiveX和命令注释()似乎失败...任何想法为什么?
<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之后立即返回?
我使用了这个Xpath表达式,"//span[@class='Big']"并获得了该页面中<span>标记和下的所有元素class='Big'.
我的问题是,如果我只想在页面上第一次出现,而不是所有出现,那么正确的Xpath表达式是什么?
谢谢,娜琳
当且仅当目标中不存在匹配的元素时,我想应用转换.使用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配置节)但显然不是.
我试图找到一个动态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) 如何忽略第一个元素并获取其余元素?
<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 ×10
selenium ×2
xml ×2
contains ×1
ends-with ×1
expression ×1
gwt ×1
parent-child ×1
python ×1
regex ×1
web-config ×1
xhtml ×1