【发布时间】:2020-06-14 19:08:04
【问题描述】:
嗨,我对 selenium 还很陌生。有人可以建议如何在 iframe 中定位和元素,因为下面出现错误。
我正在尝试在 Salesforce Pardot 页面上实施自动化脚本,并且有 2 个 iframe,我想访问第一个 iframe 标记上的按钮并单击相同。
错误:- selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素: {"method":"xpath","selector":"//*[starts-with(@class,'slds-button_reset')]"} (会话信息:chrome=80.0.3987.122)
Screenshot for DOM Button Element
Screenshot for DOM Button Element along with Iframe tag
以前编写的代码
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
prefs = {'download.default_directory': r'C:\Pardot'}
chrome_options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(executable_path="D:\XXX XXXX\XXXX\drivers\chromedriver.exe", options=chrome_options)
driver.get('https://pi.pardot.com/engagementStudio/studio#/15627/reporting')
user_name = driver.find_element_by_css_selector('#email_address')
user_name.send_keys('XXXXXXXXXXXXXXXXXXX')
password = driver.find_element_by_css_selector('#password')
password.send_keys('XXXXXXXXXXXXXXXXX)
submit_button = driver.find_element_by_css_selector('input.btn')
submit_button.click()
iframe_list = driver.find_elements_by_tag_name("iframe")
driver.switch_to.frame(iframe_list[0])
driver.find_element_by_xpath("//*[starts-with(@class,'slds-button_reset')]")
driver.close()
【问题讨论】:
-
请添加您目前尝试过的代码。
-
@Vipul_21 这次我将还原更改。如果您的要求发生了变化,请随时根据您的新要求提出新问题。 Stackoverflow 志愿者很乐意为您提供帮助。
标签: python selenium selenium-webdriver dom xpath