使用 C# (Selenium) 从数组中获取随机元素的文本
Get text of random element from an array using C# (Selenium)
这是我的 Selenium 页面对象的一个方法(该页面在此处称为 "LandingPage_Page")- 此方法旨在获取 1 个元素的文本,但诀窍在于,选择了该元素从包含 12 个相似元素的页面中随机抽取。我希望它在每次测试运行时从这 12 个元素中获取不同的元素。
public LandingPage_Page ArticleThumbnailTitle()
{
Random r = new Random();
int rInt = r.Next(0, 11);
var articleThumbTitle = Driver.FindElements(By.CssSelector(".row .article-title"));
articleThumbTitle = articleThumbTitle[rInt].Text;
return this;
最后一个 = 之后的所有内容都以红色突出显示。错误说:"Cannot implicitly convert type 'string' to 'System.Collections.ObjectModel.ReadOnlyCollection"
articleThumbTitle 是数组吗?我希望它是......如果是这样,我是否正确地将随机数调用到数组中?
在此先感谢您的指导,
Y.
您应该像这样访问文本 属性 :
string articleThumbTitleText = articleThumbTitle[rInt].Text;
Text is property 为 IWebElement 定义。因此,您不能将其用作方法。
这个颜不对,
Driver.findelements 将 return 一个列表
所以 articleThumbTitle 是类型列表的对象,您不能为其分配字符串文本值。像这样更改它:
var articleThumbTitle = Driver.FindElements(By.CssSelector(".row .article-title"));
var randomText = articleThumbTitle[rInt].Text;
我还建议您检查 articleThumbTitle.Count() < 11.
这是我的 Selenium 页面对象的一个方法(该页面在此处称为 "LandingPage_Page")- 此方法旨在获取 1 个元素的文本,但诀窍在于,选择了该元素从包含 12 个相似元素的页面中随机抽取。我希望它在每次测试运行时从这 12 个元素中获取不同的元素。
public LandingPage_Page ArticleThumbnailTitle()
{
Random r = new Random();
int rInt = r.Next(0, 11);
var articleThumbTitle = Driver.FindElements(By.CssSelector(".row .article-title"));
articleThumbTitle = articleThumbTitle[rInt].Text;
return this;
最后一个 = 之后的所有内容都以红色突出显示。错误说:"Cannot implicitly convert type 'string' to 'System.Collections.ObjectModel.ReadOnlyCollection"
articleThumbTitle 是数组吗?我希望它是......如果是这样,我是否正确地将随机数调用到数组中?
在此先感谢您的指导, Y.
您应该像这样访问文本 属性 :
string articleThumbTitleText = articleThumbTitle[rInt].Text;
Text is property 为 IWebElement 定义。因此,您不能将其用作方法。
这个颜不对, Driver.findelements 将 return 一个列表 所以 articleThumbTitle 是类型列表的对象,您不能为其分配字符串文本值。像这样更改它:
var articleThumbTitle = Driver.FindElements(By.CssSelector(".row .article-title"));
var randomText = articleThumbTitle[rInt].Text;
我还建议您检查 articleThumbTitle.Count() < 11.