我使用Firebug的Inspect Element在网页中捕获XPath,它给了我类似的东西:
//*[@id="Search_Fields_profile_docno_input"]
Run Code Online (Sandbox Code Playgroud)
我在IE中使用Bookmarklets技术来捕获同一个对象的XPath,我有类似的东西:
//INPUT[@id='Search_Fields_profile_docno_input']
Run Code Online (Sandbox Code Playgroud)
请注意,第一个没有INPUT而是有一个星号(*).为什么我会得到不同的XPath表达式?我用于测试的哪一个是否重要:
Selenium.Click(//*[@id="Search_Fields_profile_docno_input"]);
Run Code Online (Sandbox Code Playgroud)
要么
Selenium.Click(//INPUT[@id='Search_Fields_profile_docno_input']);
Run Code Online (Sandbox Code Playgroud) <add key="TAB_Home" value="//*[@id="kmTabContainer_HomeTab"]"/>
<add key="TAB_Home" value='//*[@id="kmTabContainer_HomeTab"]'/>
Run Code Online (Sandbox Code Playgroud)
以上是我的appConfig文件中的代码.如何格式化XML中引号内的引号?当我做第一个时,它说缺少必需的空白区域.
第二个让我期待'>'
<iframe width="100%" scrolling="yes" height="100%" frameborder="0" src="/detail.aspx=" name="displayIFrame"></iframe>
<html>
<head>
<frameset framespacing="1" onload="ScrollToAnchor('text', 'Docln', false); if (document.all) {var h = doccontext.document.all.docContextContentDiv.offsetHeight; document.body.rows = h + ',*,22';}" rows="95,*,22" >
<frame scrolling="no" title="Heading frame" src="head.aspx" name="head"></frame>
<frame scrolling="yes" title="Content frame" src="content.aspx" name="text"></frame>
<frame scrolling="no" title="Footer frame" src="footer.aspx" name="footer"></frame>
</frameset>
Run Code Online (Sandbox Code Playgroud)
我有类似的东西:
Selenium.SelectFrame("displayIFrame");
Selenium.SelectFrame("head");
Selenium.SelectFrame("text"); // I get "ERROR: Not a frame: text"
Run Code Online (Sandbox Code Playgroud)
为什么我得到错误:不是框架:文本从上面的html代码,"text"是我试图选择的框架的名称.好像我正在做的一切正确.请帮帮我.
可能重复:
"for(;;)"在C#中做什么?
是什么
for (; ; )
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
在c#中意味着什么?
是不是应该有(初始化器,条件,迭代器)?
我在一本书中看到了一个例子,它在for循环的内容中没有使用任何内容.
if (some condition) ||
(some other condition)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
以上格式不起作用.说invalid expression "||".
我正在测试一个与Google非常相似的网站.因此,如果用户输入了一些搜索字词,例如"Selenium Tutorial",则结果页面会有一堆带有片段的链接.
每个结果都在一个表格中.因此,如果有10个结果,则有10个表.对于每个表(结果),有几行(比如r1,r2,r3等).r1是结果的标题,r2是大小,格式,作者等的描述,r3是片段.我需要确保r3包含"selenium""教程"这个词.我尝试过这样的事情:
String variable2 = Sel.GetTable("//div[@id='RepeaterContent']/table[2].3.1");
Run Code Online (Sandbox Code Playgroud)
这给了我r3中的文字,片段.但是,我需要获取所有表格(结果)的文本(片段).然后使用像contains这样的内容在片段上执行搜索.
我不确定以下代码是否有用,因为我无法复制源代码,但结果页面的源代码如下所示:
<HTML>
<BODY>
<DIV id="RepeaterContent">
<TABLE>
<TR>
<TD>
<SPAN>
<a id="linkcft87021" class="ResultList_Title_Link" title="" href="DocsDetail.aspx?searchtranid=1bnt5d92" target="">Sample Tutorial</a>
<br>
</SPAN>
</TD>
</TR>
<TR>
<TD>
...an integrated development environment for performing Selenium tests...
</TD>
</TR>
</TABLE>
<TABLE>
<TR>
<TD>
<SPAN>
<a id="linkcft87021" class="ResultList_Title_Link" title="" href="DocsDetail.aspx?searchtranid=1g5t5d92" target="">Selenium</a>
<br>
</SPAN>
</TD>
</TR>
<TR>
<TD>
...With Selenium you can automate the whole process and run the test as required. In this part we will …Run Code Online (Sandbox Code Playgroud) 对于那些回答或查看我之前关于休息的问题的一些人来说,这个问题似乎很熟悉; 声明.如果案例1得到满足,我想做点什么,如果是案例2,我想做点别的事情.如下所示.任何人都可以指导我(如果它是可行的)如何实现我正在尝试做的事情,而不是必须将我的if语句放在开关案例中?
switch (searchType)
{
case "SearchBooks":
Selenium.Type("//*[@id='SearchBooks_TextInput']", searchText);
Selenium.Click("//*[@id='SearchBooks_SearchBtn']");
break;
case "SearchAuthors":
Selenium.Type("//*[@id='SearchAuthors_TextInput']", searchText);
Selenium.Click("//*[@id='SearchAuthors_SearchBtn']");
break;
}
int count = int(Selenium.GetXpathCount("//[@id='Results_Table']");
if case was "SearchBooks"
{
//do something
}
else if case was "SearchAuthors"
{
//do something else
}
Run Code Online (Sandbox Code Playgroud) Console.WriteLine("Enter a double number");
string numberInput = Console.ReadLine();
double number = Double.Parse(numberInput)
Run Code Online (Sandbox Code Playgroud)
我的问题是最后一行代码是做什么的?这是做同样的事情ToDouble吗?
public string[] arrTestResults = new string[8];
public string TestName;
[TestInitialize]
public void SetupTest()
{
// Assigning aliases to array indexes
TestName = arrTestResults[0] = "";
}
public void General()
{
arrTestResults[0] = "Test 1: General"; // works
TestName = "Test 1: General"; // does not work. Quick Watch says TestName = Null. WHY?
Run Code Online (Sandbox Code Playgroud) c# ×8
selenium ×5
xpath ×2
.net ×1
app-config ×1
arrays ×1
bookmarklet ×1
firebug ×1
iframe ×1
parsing ×1
search ×1
selenium-rc ×1
xml ×1