Python Selenium 单击按钮没有名称、没有 id、没有文本、很多 类 和一个 aria-label

Python Selenium click button with no name, no id, no text, many classes, and an aria-label

这是按钮:

<button _ngcontent-qte-c250="" mat-raised-button="" color="primary" aria-label="Close Welcome Banner" class="mat-focus-indicator close-dialog mat-raised-button mat-button-base mat-primary ng-star-inserted" style=""><span class="mat-button-wrapper"><mat-icon _ngcontent-qte-c250="" role="img" class="mat-icon notranslate material-icons mat-icon-no-color" aria-hidden="true" data-mat-icon-type="font"> visibility_off </mat-icon><span _ngcontent-qte-c250="" fxshow="" fxhide.lt-sm="" translate="">Dismiss</span></span><span matripple="" class="mat-ripple mat-button-ripple"></span><span class="mat-button-focus-overlay"></span></button>

我怎么去点击这个? 尝试按照 this link 所说的进行操作,但 Xpath 似乎不喜欢使用许多 类

尝试了以下方法,似乎没有任何效果。

driver.find_element_by_xpath("//div[@aria-label='Close Welcome Banner']/div[@class='mat-focus-indicator close-dialog mat-raised-button mat-button-base mat-primary ng-start-inserted']");
driver.find_element_by_xpath("//div[@aria-label='Close Welcome Banner']").click()
driver.findElement(By.xpath("//span[contains(@class,'middle') and contains(text(), 'Next')]"))

有什么建议吗?

看起来像 button 标签,而不是 div

试试这个:

driver.find_element_by_xpath("//button[@aria-label='Close Welcome Banner']").click()

您可以通过文本找到按钮标签的 xpath。

driver.find_element_by_xpath("//button[contains(text(), 'Dismiss')]")