Python Selenium单击按钮,无名称、无id、无文本、多个类和一个标签

2024-05-14 17:44:04 发布

您现在位置:Python中文网/ 问答频道 /正文

这是按钮:

<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>

我怎么才能点击这个呢? 尝试按照thislink所说的做,但是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')]"))

有什么建议吗


Tags: closebuttonlabelclassiconspanbannerwelcome
2条回答

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

试试这个:

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

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

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

相关问题 更多 >

    热门问题