Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Selenium检索动态链接文本_C#_Unit Testing_Selenium_Selenium Webdriver - Fatal编程技术网

C# 使用Selenium检索动态链接文本

C# 使用Selenium检索动态链接文本,c#,unit-testing,selenium,selenium-webdriver,C#,Unit Testing,Selenium,Selenium Webdriver,目标: 使用by.LinkText 问题: 在这种情况下,链接文本44 gggg不是静态的,因为每次刷新页面时链接文本都会更改 我的想法是检索所有的class=“ng binding”,然后使用第二个链接作为链接文本,,但我不知道怎么做?答案很简单,这是不可能的。如果链接文本是动态的,并且您不知道其值,则无法通过链接文本获取元素 不过,您可以使用其他方法选择它 css选择器 a[class='ng-binding'] 标记名称(不建议使用,因为它可能不是唯一的) 类名 ng-binding

目标:
使用
by.LinkText


问题:
在这种情况下,链接文本
44 gggg
不是静态的,因为每次刷新页面时链接文本都会更改


我的想法是检索所有的
class=“ng binding”
,然后使用第二个链接作为
链接文本,
,但我不知道怎么做?

答案很简单,这是不可能的。如果链接文本是动态的,并且您不知道其值,则无法通过链接文本获取元素

不过,您可以使用其他方法选择它

css选择器

a[class='ng-binding']
标记名称(不建议使用,因为它可能不是唯一的)

类名

ng-binding
xpath

在列表中找到元素,然后拉出所需的元素

另一个选项是立即使用xpath选择第二个元素

(//a[@class='ng-binding'])[2]

使用以下选项作为CSS选择器:

a.ng-binding[href$='/test/id_var2']// this will return the second link.
如果您想使用

ng-binding 
类,将下面的用作CSS选择器

a.ng-binding//return all elemtns using the ng-binding class

您还可以使用以下xpath:

 //a[@href="#/test/id_var2"]

如果你愿意,你可以在这里使用CSS选择器。你总是想要第二个吗?如果链接文本每次都更改,您如何知道哪一个是正确的?它始终是“id_var2”一个还是???第二个的文本可以更改如何将“a.ng-binding[href$='/test/id_var2']”应用于语法代码LinkText?这里不需要将链接文本用作CurrentDriver.FindElement(By.CssSelector(“a.ng-binding[href$='/test/id_var2'])@但这并没有回答他的问题。询问者明确要求提供。LinkText@RemcoW为什么不呢?由于定位元素有很多选项,为什么用户只能使用一种特定的方法来定位元素,使用定位器查找元素的方法不是静态的…@noor他特别要求By.LinkText。我知道有很多不同的选择,你提到了这些很好,但是你没有提到关于By.LinkText的任何内容。所以询问者要求A,你给他们B,如果你不解释为什么你不选择A,这就没有多大意义。
a.ng-binding//return all elemtns using the ng-binding class
 //a[@href="#/test/id_var2"]