如何使用python在selenium中逐个颜色找到元素

时间:2015-09-09 08:34:20

标签: css selenium

这是我的情况。两个div几乎相同,但我只需要点击"声明"从第一个。我可以使用背景颜色来识别我的元素吗?还是其他任何想法?

1

<div class="well well-sm" style="width:150px;margin:5px;text-align:center;float:left;">
  <p><b style="color:#227A11">$0.005</b></p>
  <p><a href="./seecashlinks.php?ocd=open&amp;id=96396" class="btn btn-success" style="background:#0373F1;">Claim</a></p>
</div>

2

<div class="well well-sm" style="width:150px;margin:5px;text-align:center;float:left;">
  <p><b style="color:#227A11">$0.001</b></p>
  <p><a href="./seecashlinks.php?ocd=open&amp;id=22952" class="btn btn-success" style="background:#CC07DD;">Claim</a></p>
</div>

1 个答案:

答案 0 :(得分:1)

这是如何识别包含使用xpath搜索的背景颜色的锚元素的div元素:

driver.findElement(By.xpath("//a[@style='background:#0373F1;']/ancestor::div[1]"));

*如果您的网站上有多个具有该背景颜色的锚元素,则必须相应地修改您的xpath(您需要首先搜索所有&#34;可能的&#34;父元素

在您的情况下,您可以首先搜索包含类&#34的所有div元素;以及&#34;:

"//div[contains(@class, 'well')]/a[@style='background:#0373F1;']/ancestor::div[1]"