我需要识别“X”(取消)按钮。 HTML看起来像这样:
<div class="ingredients-container-header">
<div class="ingredients-container-header-name">Ingredients:</div>
<div class="ingredients-container-header-close">
<span class="material-icons cancel-icon " style="color: rgba(0, 0, 0, 0.87); position: relative; font-size: 24px; display: inline-block; user-select: none; transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;">cancel</span></div></div>
尝试直接按span执行但是它不起作用(问题可能是,它不是唯一的(许多取消按钮具有相同的跨度)
driver.FindElement(By.XPath("//span[@class ='material-icons cancel-icon')]"));
需要做的事情是,通过课程:“成分 - 容器 - 标题 - 关闭”,然后以某种方式“下降”到跨度。谁能告诉我怎么做? (1个父元素和少数子元素,选择那个子元素)
答案 0 :(得分:3)
您可以使用 Xpath :
//div[text()='Ingredients:']/following-sibling::div/span[contains(@class,'cancel-icon')]
cssSelector 将是:
div[class^='ingredients-container']+div>span
尝试其中一个!
答案 1 :(得分:2)
您的期望必须为//div[@class='ingredients-container-header-close']/span[@class='material-icons cancel-icon ']
。你有类名的额外空间。