He is my sample snippet. i want to click the button-1034-btnIconEl using python selenium.
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内容请搜索靠谱客的其他文章。
发表评论 取消回复