在 PHP Selenium 中通过链接查找元素

Posted

技术标签:

【中文标题】在 PHP Selenium 中通过链接查找元素【英文标题】:Finding element by link in PHP Selenium 【发布时间】:2013-05-19 03:52:16 【问题描述】:

我将 Selenium 与 php 一起使用,我想知道是否有任何方法可以通过其 href 找到元素。例如,在网页中查找带有链接“http://google.com”的元素。此外,该元素中没有链接文本:

<a href="http://google.com"> <span class="email-icon"> </span> </a>

【问题讨论】:

另外,元素中没有链接文本 你能分享一个这样的网络元素的例子吗 google.com"> 【参考方案1】:

我认为有比自己迭代所有&lt;a&gt; 元素更好的方法。查看&lt;a&gt; 标签的href 属性的简单xpath 表达式应该可以解决问题:

//a[@href='http://google.com']

【讨论】:

非常感谢。这有很大帮助【参考方案2】:

这就是我在Ruby 中的做法。但我相信 PHP 会类似

all_links = @driver.find_elements(:xpath,"//a")
all_links.each do |link|
   print link.attribute("href") # You can use regex to check if the href includes http://google.com
end

关键是查找标签名称以a 开头的所有元素 然后遍历找到的元素数组,并检索它们的 attribute 在本例中为 href

【讨论】:

以上是关于在 PHP Selenium 中通过链接查找元素的主要内容,如果未能解决你的问题,请参考以下文章

如何使用python在selenium中通过其id名称的一部分查找元素

如何在WebElement中通过xpath查找子元素

Python Selenium 无法使用 Selenium 和 Python 在#shadow-root (open) 中通过 xpath 找到元素

python中通过selenium简单操作及元素定位

在 selenium 中通过...(."<table class = "table table-bordered table-condensed table-striped

在jQuery中通过部分ID查找元素? [复制]