如何用Selenium Python在IFRAME中定位元素?

amrnrhlw  于 2023-01-16  发布在  Python
关注(0)|答案(1)|浏览(156)

我在下面的屏幕上找不到搜索按钮:

我注意到它在HTML的IFRAME中
我使用了一些方法来单击不起作用的按钮,它总是返回错误消息,即在XPATH中找不到该元素。
跟随我尝试单击的元素和命令
driver.find_element(By.XPATH"//div[contains(text(),'Search')]").click()
wait.until(EC.element_to_be_clickable((By.XPATH,"//div[contains(text(),'Search')]"))).click()
driver.find_element(By.XPATH,"/html[1]/body[1]/div[2]/div[1]/div[3]/div[2]/div[1]/div[1] /div[1]/div[1]/div[2]").click()

mrfwxfqh

mrfwxfqh1#

首先,您需要切换到iframe,内容如下:

wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe[src*='blogger.com']")))

然后,在iframe中,您应该能够使用如下代码访问该元素:

wait.until(EC.element_to_be_clickable((By.XPATH,"//div[contains(text(),'Pesquisa')]"))).click()

如果有嵌套的iframe,您需要先切换到第一个iframe,然后再切换到内部iframe。
我不能给予你工作的定位器,因为我不能访问你工作的页面。
在完成iframe内部的工作后,您需要使用以下命令切换到默认内容

driver.switch_to.default_content()

相关问题