Python无法定位元素

Python无法定位元素,python,selenium,Python,Selenium,我正试着点击一个按钮。我尝试了很多方法,但都不管用 所以我的问题是,我如何点击“我同意”按钮 我试过这个方法 第一: browser.switch_to.frame(browser.find_element_by_id('introAgreeButton')) vote = browser.find_element_by_xpath('//*[@id="introAgreeButton"]') vote.click() 第二: accepted = browser.fin

我正试着点击一个按钮。我尝试了很多方法,但都不管用

所以我的问题是,我如何点击“我同意”按钮

我试过这个方法

第一:

browser.switch_to.frame(browser.find_element_by_id('introAgreeButton'))
vote = browser.find_element_by_xpath('//*[@id="introAgreeButton"]')
vote.click()
第二:

accepted = browser.find_elements_by_id('introAgreeButton')
browser.execute_script("arguments[0].click();", accepted )
第三(经典):


您可以使用完整xpath来获取iframe的完整路径。我让你的脚本像这样工作:

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


driver.switch_to.frame(driver.find_element_by_xpath('/html/body/div/div[4]/div[3]/div/div[2]/span/div/div/iframe'))
element = driver.find_element_by_id('introAgreeButton')

element.click()
如您所见,我正在使用driver.switch_to.frame-在这个框架开关中,我将使用完整的xpath找到iframe元素。您可以通过在检查时右键单击并选择“复制->完整Xpath”来找到完整路径


我希望这能有所帮助,否则请询问:)

sykezlol的上述回复对我不起作用,但这段代码确实起了作用:

            browser.switch_to_default_content()
            browser.switch_to.frame(browser.find_elements_by_tag_name('iframe')[0])
            browser.implicitly_wait(1)
            browser.find_element_by_id('introAgreeButton').click()
            browser.switch_to.default_content()

我在这里使用的是“浏览器”而不是“驱动程序”。

您遇到了什么错误?@arundeepchohan selenium.common.exceptions.NoSuchElementException:Message:没有这样的元素:找不到元素:{“方法”:“css选择器”,“选择器”:“[id=”introAgreeButton“]”首先检查它是否在任何iFrame中。@arundeepchohan实际上我添加了屏幕截图。请检查好吗?只需在页面源代码中检查任何iFrame。
浏览器。切换到默认内容()
现在是
浏览器。切换到默认内容
            browser.switch_to_default_content()
            browser.switch_to.frame(browser.find_elements_by_tag_name('iframe')[0])
            browser.implicitly_wait(1)
            browser.find_element_by_id('introAgreeButton').click()
            browser.switch_to.default_content()