祝你有个愉快的一天。我试图完成我的一个方块,但我陷入其中。我尝试了以下代码,尽管没有成功。仅前两个驱动程序起作用,我的目标是在psiToolPan div中选择“ Daily report Dec 2019”选项。提前谢谢了。
这是我的街区:
elements = driver.find_elements_by_class_name("smr")
for e in elements:
e.click()
elements = driver.find_elements_by_class_name("smr-more")
for e in elements:
e.click()
select_obj =
select(driver.find_element_by_xpath("//div[@class='smr']//div[@class='smr-
more']//strong[@id='psiTool']"))
select_obj.select_by_visible_text('All')
# courses_button = driver.find_element_by_name('psiTool').click()
# courses_button = driver.find_element_by_id('psiToolPan').click()
# courses_button = driver.find_element_by_id('templateList').click()
driver.find_element_by_link_text('Selecting a template').click();
# searchElem.send_keys('Daily report Dec 2019')
您尝试进行交互的元素位于iframe id中dashboard_iframe
。您需要先切换到iframe才能访问该元素。
诱导WebDriverWait
和frame_to_be_available_and_switch_to_it
()诱导WebDriverWait
和element_to_be_clickable
()
WebDriverWait(driver,15).until(EC.frame_to_be_available_and_switch_to_it((By.ID,"dashboard_iframe")))
WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.smr"))).click()
WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.smr-more"))).click()
element=WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#templateList")))
select=Select(element)
select.select_by_visible_text("Daily report Dec 2019")
导入以下库以执行上述代码。
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
编辑:
促使JavaScript执行器单击。
WebDriverWait(driver,15).until(EC.frame_to_be_available_and_switch_to_it((By.ID,"dashboard_iframe")))
elementclick=WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.smr")))
driver.execute_script("arguments[0].click();", elementclick)
elementclick=WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.smr-more")))
driver.execute_script("arguments[0].click();", elementclick)
element=WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#templateList")))
select=Select(element)
select.select_by_visible_text("Daily report Dec 2019")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句