首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium接受警报gdpr

Selenium接受警报gdpr
EN

Stack Overflow用户
提问于 2020-11-07 21:47:54
回答 1查看 79关注 0票数 1

我到处都找遍了,什么都试过了,就是想不通,有没有人能帮帮忙?

代码语言:javascript
复制
driver.execute_script('''window.open("https://www.abv.bg/","_blank");''')
driver.implicitly_wait(30)
driver.switch_to.frame("abv-GDPR-frame")
#driver.switch_to.frame("gdpr-consent-notice")
otkazTS = driver.find_element_by_xpath(
    '''.//a[@class="accept-all mat-button mat-button-base mat-raised-button"][@style="color: white
    background-color: rgb(72, 72, 74)"]''').click()

这就是给我这个错误的部分:selenium.common.exceptions.NoSuchFrameException: Message: abv-GDPR-frame

我已经找遍了所有地方,一开始我甚至没有尝试定位框架,但我发现我需要首先定位正确的框架,然后再定位按钮,才能接受它。如果有人能告诉我我错过了什么,那就太好了。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-11-12 02:53:49

是的,我把它修好了,我去掉了window.open --简而言之,不用再打开第二个标签了。然后我添加了一些显式等待,但程序仍然是一样的:

代码语言:javascript
复制
driver.get('https://www.abv.bg/')
frame1 = WebDriverWait(driver, 5).until(
    EC.frame_to_be_available_and_switch_to_it("abv-GDPR-frame"))
frame2 = WebDriverWait(driver, 5).until(
    EC.frame_to_be_available_and_switch_to_it("gdpr-consent-notice"))
otkazTS = WebDriverWait(driver, 5).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, "a.accept-all.mat-button.mat-button-base.mat-raised-button"))).send_keys(u'\ue007')

哦,是的,没有点击,这次点击了ENTER。谢谢,@DMart,你让我想到了window.open

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64728329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档