我正在尝试使用Selenium webdriver和Python打开一个似乎隐藏在iframe中的JavaScript表中的HTML链接。我知道最后两行目前做得不是很好。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Open MasterControl
url = *****
driver = webdriver.Chrome(executable_path = r'C:\Users\jmiller\Desktop\MasterControl Scraping\chromedriver')
driver.get(url)
# Login using my credentials
username = driver.find_element_by_id('userid')
password = driver.find_element_by_name('password')
username.send_keys('*****')
password.send_keys('*****')
submitButton = driver.find_element_by_id('MCP_BUTTON_40')
submitButton.click()
# Search for assets
asset = driver.find_element_by_id('strSearchPortal')
asset.send_keys('****')
goButton = driver.find_element_by_xpath("//input[@type = 'submit']")
goButton.click()
# Open asset form
driver.switch_to.frame('myframe')
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//div[@id = 'folder_Forms']/div[@id = 'row2']/div[@id = 'column_i.title_nm']/a")))
element.click()
“folder_Forms”似乎就是我迷路的地方。我想要的链接是隐藏的,直到你点击网站上的“表单”图标。我必须执行JavaScript "toggleFolder“函数吗?任何帮助都是非常感谢的。如果更多的信息对我有帮助,请让我知道-我正在努力避免复制整个网站。
<div id="folder_Forms" class="listDataTable" style="margin-left: 10px;width: 99%;">
<span style="cursor:pointer" onclick="toggleFolder('image_Forms','group_Forms');">
<img src="*****" id="image_Forms" title="Hide Content">
Forms
</span>
<span style="font-weight:lighter;font-size:11px;color:#666666; " onclick="toggleFolder('image_Forms','group_Forms');">(3 records)
</span>
<span>
</span>
</div>
发布于 2018-06-15 03:41:26
尝试使用execute_script
执行toogleFolder
,您将看到它是否有帮助
driver.execute_script("toggleFolder('image_Forms','group_Forms');")
https://stackoverflow.com/questions/50864700
复制相似问题