首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒-区分相同的<articles>,C#

硒-区分相同的<articles>,C#
EN

Stack Overflow用户
提问于 2016-10-16 06:34:42
回答 1查看 55关注 0票数 0

我试图让我的程序坐在一个网页上,等待一篇文章中的特定tagName出现。问题是,我需要Selenium在单击它之前检查包含两个tagNames的文章,这是我感到困惑的地方。按照我现在设置代码的方式,它不会点击任何地方。它只是放在页面上,我怀疑这是因为有不止一篇文章具有相同的主tagName,我试图找到这些文章。下面是HTML:

代码语言:javascript
复制
<article>
   <div class ="inner-article">
      <a href ="/shop/shirts/iycbmgtqw/x9vdawcjg" style="height:150px;">
         <img alt="Xrtqh7ar444" height="150" src="//d17ol771963kd3.cloudfront.net/120885/vi/xrTQH7Ar444.jpg" width="150">
      </a>
      <h1>
        <a href="/shop/shirts/iycbmgtqw/x9vdawcjg" class="name-link">EXAMPLE_CODE</a>
      </h1>
      <p>
        <a href="/shop/shirts/iycbmgtqw/x9vdawcjg" class="name-link">EXAMPLE_COLOUR</a>
      </p>
   </div>
</article>

此页面中的所有其他项都具有相同的类,有些项具有相同的tagNames。我想在一篇文章中搜索两个tagNames的特定组合。我意识到xPath是一种选择,但我想在知道xPath之前对其进行编码,其中项目的名称是唯一可用的信息。

下面是我目前正在处理的代码:

代码语言:javascript
复制
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromMinutes(10));


IWebElement test = driver.FindElement(By.TagName(textBox12.Text));
test.Click();

其中textBox12.Text 12.文本为"EXAMPLE_CODE“。我是否正确地假设WebDriver没有单击任何东西,因为tagName "EXAMPLE_CODE“中有多个元素,是否有可能让它先查找"EXAMPLE_CODE",然后检查次要元素:"EXAMPLE_COLOUR"?

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-16 07:18:33

您使用By.TagName不正确。标记是指要查找的元素的类型。在这种情况下,链接是'a‘。或者如果是div,它就是div。找到链接的标签名的正确方法是- By.TagName("a")

您需要匹配文本,并且需要使用xpath。假设代码是唯一的,您应该尝试。

XPath来获取href - //div[class='inner-article']/h1/a[.=EXAMPLE_CODE]代码

XPath以获得href - //div[class='inner-article']/h1/a[.=EXAMPLE_CODE]/following-sibling::a的颜色

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40067576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档