我是靠谱客的博主 清新枕头,这篇文章主要介绍python selenium 点击按钮动态刷新iframe_如何使用python硒单击iframe内的按钮,现在分享给大家,希望可以做个参考。

He is my sample snippet. i want to click the button-1034-btnIconEl using python selenium.

.....many divs

i tried this

driver.switch_to.frame(1)

driver.find_element(By.XPATH, "//span[contains(@id,'button-1034-btnIconEl')]").click()

but getting

"NoSuchElementException: no such element:"

Please help me to traverse this.

解决方案

To click() on the button with id as button-1034-btnIconEl as the the desired element is within an so you have to:

Induce WebDriverWait for the desired frame to be available and switch to it.

Induce WebDriverWait for the desired element to be clickable.

You can use either of the following Locator Strategies:

Using CSS_SELECTOR:

WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe.x-component.x-fit-item.x-component-default[id^='rpIFrame-']")))

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a > span > span[id^='button'][id$='btnIconEl']"))).click()

Using XPATH:

WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@class='x-component x-fit-item x-component-default' and starts-with(@id, 'rpIFrame-')]")))

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a/span/span[starts-with(@id, 'button') and contains(@id, 'btnIconEl')]"))).click()

Here you can find a relevant discussion on Ways to deal with #document under iframe

最后

以上就是清新枕头最近收集整理的关于python selenium 点击按钮动态刷新iframe_如何使用python硒单击iframe内的按钮的全部内容,更多相关python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(107)

评论列表共有 0 条评论

立即
投稿
返回
顶部