硒找不到元素如何通过其他方式单击元素

时间:2019-11-07 07:18:04

标签: python selenium

此网站是一个Intranet,无法从外部访问

但是我上传了html,请下载并进行测试。

Download HTML

请检查我要单击的图片。

enter image description here

我尝试了以下代码

driver.find_element_by_xpath("//*[contains(text(), '高级查询')]").click()
driver.find_element_by_xpath('//*[@id="cusAdvancedQuery"]').click()
driver.find_element_by_xpath('//*[@id="cusAdvancedQuery"]').send_keys(Keys.ENTER)

找不到元素

1 个答案:

答案 0 :(得分:1)

它位于iframe中,您需要先使用.frame_to_be_available_and_switch_to_it进行切换:

driver.get('url')
WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.NAME, 'iframe01')))

#element1
driver.find_element_by_id('updateTime1').click()
#element2
driver.find_element_by_id('updateTimeEnd1').click()
#element3
driver.find_element_by_id('cusAdvancedQuery').click()
#element4
driver.find_element_by_id('detailExport').click()
#element5
driver.find_element_by_name('btSelectAll').click()

正在导入:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC