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')]")
这是按钮:
<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')]")