无法在 Python Selenium 中单击“SAVE”Bbutton - Chrome

Not able to click on "SAVE" Bbutton in Python Selenium - Chrome

提问人:Dreamcatcher_AR 提问时间:7/16/2021 最后编辑:Dreamcatcher_AR 更新时间:7/16/2021 访问量:135

问:

嗨,我确实有以下保存按钮的代码,需要使用 Python Selenium 单击。

1 <button ngcontent-jkv-c423-" " type="button" mat-raised-button=" " id="btnSave" class="mat-focus-indicator mat-raised-button mat-button-base mat-none mat_animation-noopable ng-star-inserted" data-dtname="Work.save"> 
2 <span class="mat-button-wrapper">
3 <span ngcontent-jkv-c423="" data-dtname="Work.save">
4 <i _ngcontent-jkv-c423-"" aria-hidden="true" class="fas fa-save">
5 </i> 
6 "Save "
7 </span>
8 </span>
9 <span matripple=" " class="mat-ripple mat-button-ripple">
10 </span><span class="mat-button-focus-overlay"></span>
11 </button>

T 尝试了以下代码:

1 driver.find_element_by_xpath("//span[contains(text(),'Save ')]").click()
2 driver.find_element_by_class_name("fas fa-save").click()
3 driver.find_element_by_class_name("//span[@data-dtname='Work.save']").click()

但是上述所有代码都抛出错误。

有没有其他方法可以做到这一点??

提前致谢。

python selenium xpath chrome-web-driver

评论

0赞 Prophet 7/16/2021
您看到哪些例外情况?你能分享一个指向该页面的链接吗?

答:

1赞 cruisepandey 7/16/2021 #1

Save看起来像一个文本节点,所以,你不能使用这个 XPath:

//span[contains(text(),'Save ')]

你的外表无效原因:-2nd attempt

不支持带空格的类名。

3rd attempt :-

find_element_by_class_name("//span[@data-dtname='WorkQueue.save']")

你正在路过,在xpathclass name.

那么,为什么不呢?id

driver.find_element_by_id('btnSave').click()

更新 1 :

您可以像这样以全屏模式启动浏览器吗?

driver.get('https://google.com')
driver.maximize_window()

评论

0赞 Dreamcatcher_AR 7/16/2021
我也试过了,但得到这个异常selenium.common.exceptions.WebDriverException: Message: unknown error: Element <button ngcontent-uks-c423="" type="button" mat-raised-button="" id="btnSave" class="mat-focus-indicator mat-raised-button mat-button-base mat-none mat-animation-noopable ng-star-inserted" data-dtname="Work.save">...</button> is not clickable at point (916, 18). Other element would receive the click: <div class="cdk-overlay-backdrop cdk-overlay-transparent-backdrop cdk-overlay-backdrop-showing"></div>
0赞 cruisepandey 7/16/2021
您是否全屏启动浏览器?
0赞 Dreamcatcher_AR 7/16/2021
不。。。这就是问题所在吗?..让我试着把它全屏显示
0赞 cruisepandey 7/16/2021
是的,它可以修复上述异常
0赞 Dreamcatcher_AR 7/16/2021
不。。那不是问题。我仍然收到相同的异常。有没有其他方法可以访问保存按钮???
0赞 Dreamcatcher_AR 7/16/2021 #2

据我了解,另一个元素覆盖了我想点击的元素,所以我做了下面的代码:

save_ele=driver.findelement_by_xpath("**full xpath of the element**)
driver.execute_script("arguments[0].click()",save_ele)

这对我来说很好用。