提问人:Dreamcatcher_AR 提问时间:7/16/2021 最后编辑:Dreamcatcher_AR 更新时间:7/16/2021 访问量:135
无法在 Python Selenium 中单击“SAVE”Bbutton - Chrome
Not able to click on "SAVE" Bbutton in Python Selenium - Chrome
问:
嗨,我确实有以下保存按钮的代码,需要使用 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()
但是上述所有代码都抛出错误。
有没有其他方法可以做到这一点??
提前致谢。
答:
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']")
你正在路过,在xpath
class 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)
这对我来说很好用。
评论