我在网站上有一个href,如下所示:
<a href="Redirect.jsp?ScreenCode=L0000" target="LinkFrame">Transfer Doc</a>
当我期望 Selenium 打开浏览器窗口时,该元素甚至是可见的。
问题:
我正在尝试找到这个元素并尝试了以下方法:
driver = webdriver.Firefox()
... #navigation to current site
transDocBtn = driver.find_element(By.XPATH, '//a[contains(@href,"L0000")]')
transDocBtn = driver.find_element(By.PARTIAL_LINK_TEXT,"Transfer Doc")
这两行都没有找到该元素。两者都返回 ElementNotFoundException。
如何找到我的链接?上面两行不起作用的原因是什么?
编辑: 作为参考,这就是结构的大致样子。我的元素在
body class=menu
内
参考以下代码:
driver = webdriver.Firefox()
driver.get("Your URL")
driver.maximize_window()
wait = WebDriverWait(driver,10)
frame = driver.find_element(By.XPATH, "//frame[@name='LinkFrame']")
wait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(frame))
transDocBtn = wait.until(EC.element_to_be_clickable((By.XPATH, '//a[contains(@href,"L0000")]')))
进口:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC