【问题标题】:Click on a button inside span tag containing an svg?单击包含 svg 的 span 标签内的按钮?
【发布时间】:2020-05-09 04:28:46
【问题描述】:
我必须点击按钮...
救命!!!
<span class = "CLASS NAME" >
<button class = "ANOTHER CLASS NAME" type = "button" >
<svg aria-label = "WANT TO CLICK" class = "A THIRD CLASS NAME" fill = "#262626" height = "24" viewBox = "0 0 48 48" width = "24" >
<path ...></path>
</svg >
</button >
我不知道这是否重要,但 html 脚本还有另一个具有不同类名的 span 标签,但 button 和 svg 标签的类名对于所有 span 标签保持相同。
【问题讨论】:
标签:
javascript
python
selenium-webdriver
xpath
selenium-chromedriver
【解决方案1】:
既然要点击按钮元素,可以使用:
//button[@class='ANOTHER CLASS NAME' and child::svg[@aria-label='WANT TO CLICK']]
我们寻找一个 class 属性等于 'ANOTHER CLASS NAME' 的按钮元素和一个 aria-label 属性等于 'WANT TO CLICK' 的 svg 子元素。
【解决方案2】:
借助动态 xpath,我们可以轻松实现这一目标。如果您有任何这样的应用程序,请与我分享 URL,我可以帮助您解决此问题。 :)
【解决方案3】:
请在 Xpath 下尝试:
先试试第一个,如果不行就用第二个,
1) .//button[contains(@class,'ANOTHER CLASS NAME')]
2) .//button[contains(@class,'ANOTHER CLASS NAME')]/svg[contains(@aria-label,'WANT TO CLICK')]