是否可以使用部分SRC查找元素/框架?

时间:2019-07-18 17:42:34

标签: python selenium

我正在尝试切换到没有ID且动态变化的框架。我确实有SRC,所以我尝试仅使用SRC的一部分导航到该框架,因为它会动态更改。

这是我尝试过的:


try:
    driver.switch_to.frame(driver.find_element_by_xpath("//*[contains(@src, 'Text-Within-SRC-I-Want'"))

except:
    print("Couldn't find frame")

wait = WebDriverWait(driver, 10)
element = wait.until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "//*[contains(@src, 'Text-Within-SRC-I-Want'")))

到目前为止,这还没有奏效,我知道一定是因为我做错了什么。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

我将使用css选择器找到元素,并按如下方式搜索src的部分值:

element = driver.find_element_by_css_selector('[src*="value_within_src"]')

driver.switch_to.frame(element)

当然要进行更多检查,以确保找到该元素,正确等待等,但这应该可以满足您的需求。