工作代码1:
Driver.Instance.FindElement( By.XPath("//a[contains(@href,'" + PartialLinkHref + "')]" ));
工作代码2:
ReadOnlyCollection<IWebElement> linkList = Driver.Instance.FindElements(By.TagName("a"));
for (int i = 0; i < linkList.Count ; i++)
{
if (linkList[1].GetAttribute("href").Contains(PartialLinkHref))
{
element.SetElement(linkList[i]);
return element;
break;
}
}
初始选择器的问题是缺少//
选择器的前面。在//
告诉XPath来搜索整个HTML树。
这应该可以解决问题:
Driver.Instance.FindElement(By.XPath("//a[contains(@href, 'long')]"))
如果要查找元素的子代,请.//
改用,例如
var element = Driver.Instance.FindElement("..some selector..")
var link = element.FindElement(".//a[contains(@href, 'long')]"))
如果要查找包含 文本 而不是href属性的链接,则可以使用
Driver.Instance.FindElement(By.XPath("//a[contains(text(), 'long')]"))
我还尝试使用CSSSelector: 但WebDriver不断抛出一个异常,说明它无法找到该元素。有什么建议可以是什么问题吗?
问题内容: 我有一个只具有href值作为属性的锚标记的href值。现在,我想在页面中找到与我的href值具有相同值的元素,然后单击它。我找不到使用标准selenium方法执行此操作的任何方法。如何执行此操作?基本上,这些是我找到的功能,但似乎无法使用其中任何一个: 问题答案: 您可以使用find_element_by_xpath功能。
我在用硒和python做蜘蛛。 网页的一部分是这样的: 我需要找到href并单击。 另外,我读过这个问题:使用Selenium Webdriver单击超链接 但它不能帮助我,因为在我的例子中,有一个,而不仅仅是一个简单的文本。
问题内容: 我正在尝试查找具有动态生成ID的元素。字符串的最后一部分是常量(“ ReportViewer_fixedTable”),因此我可以使用它来定位元素。我试图在XPath中使用正则表达式: 并通过CssSelector定位: 都不行。任何建议,将不胜感激。 问题答案: 那是因为需要修改css选择器,而您几乎就在那里… 从https://saucelabs.com/blog/selenium
下面的代码仅供演示。 我的实体bean如下所示 问题:假设在查询时,我只有employeeId和branchName,而我不想在departmentName上放置filter 在这种情况下,如何编写存储库方法 JPA是否有针对此类场景的内置内容?
问题内容: python + selenium是否有任何方法可以找到父元素,兄弟元素或子元素,就像 或 或 ? 例如: 我已经尝试过如下操作,但是失败了: 如何 获取输入元素的父级, 然后最终 选择选项 ? 问题答案: 您可以使用xpath 找到一个父元素: 为获得选择的选项制作一个单独的xpath怎么样,像这样: