使用 python selenium 从 iframe 内的列表中选择元素

伊曼纽尔·达·芬奇

我想编写一个 python 程序,它从网页上自动下载历史股票数据。我要选择的元素的相应 HTML 代码如下图所示:

有两个 iframe。一个在另一个里面。我切换到第二个 iframe,但找不到我要单击的元素。我收到以下错误:“消息:没有这样的元素:无法定位元素:{“方法”:“css选择器”,“选择器”:“[id =“:cu”]”}(会话信息:chrome = 75.0 .3770.100)”


from requests import get
from requests.exceptions import RequestException
from contextlib import closing
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import ctypes  # An included library with Python install.   
import time

user = ""
pwd = ""
driver = webdriver.Chrome()
driver.get("https://www.dukascopy.com/trading-tools/widgets/quotes/historical_data_feed")
driver.maximize_window()

## Give time for iframe to load ##
time.sleep(1)

# get the list of iframes present on the web page using tag "iframe"
seq = driver.find_elements_by_tag_name('iframe')
print("No of frames present in the web page are: ", len(seq))

#switch to correct iFrame
driver.switch_to_default_content()
iframe = driver.find_elements_by_tag_name('iframe')[1]
driver.switch_to.frame(iframe)

driver.implicitly_wait(5)

elem = driver.find_element_by_id(':cu')
elem.click()

ctypes.windll.user32.MessageBoxW(0, "Test", "Test MsgBox", 1)

driver.close()

如果我的代码正确,则列表中的元素“EUR/TRY”将被选中。

游轮潘迪

总共有 4 个 iframe。

您要与之交互的表在iframe[src^='https://freeserv'],父 iframe 是widget-container. 你必须像这样一个一个地切换到它:

代码 :

wait = WebDriverWait(driver,10)

driver.maximize_window()

driver.get("https://www.dukascopy.com/trading-tools/widgets/quotes/historical_data_feed")

wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "widget-container")))

wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[src^='https://freeserv']")))

check_Box = wait.until(EC.visibility_of_element_located((By.XPATH, "//strong[text()='EUR/TRY']/../preceding-sibling::span/span")))
ActionChains(driver).move_to_element(check_Box).perform()
check_Box.click()  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Selenium Python从列表中选择网页中的特定元素

来自分类Dev

如何使用Selenium和Python在iFrame中定位元素

来自分类Dev

使用Selenium WebDriver Python无法在iframe中找到元素

来自分类Dev

使用Selenium和Python从搜索结果列表中选择

来自分类Dev

使用Selenium和Python从搜索结果列表中选择

来自分类Dev

使用Python / Selenium切换iframe

来自分类Dev

使用Selenium Python获取Iframe Src内容

来自分类Dev

使用 Selenium 无法在 iframe 中找到元素

来自分类Dev

如何使用Xpath在iframe中选择元素?

来自分类Dev

使用Mootools在iframe内容中选择元素?

来自分类Dev

如何通过Python使用Selenium WebDriver在iframe中定位元素

来自分类Dev

无法使用selenium和python通过sendkeys将文件上传到iframe中的按钮元素中

来自分类Dev

selenium.common.exceptions.NoSuchWindowException:消息:使用Selenium和Python单击iframe中的元素没有此类窗口错误

来自分类Dev

如何使用Selenium和Python在iframe中单击按钮

来自分类Dev

如何使用Python在iframe中切换Selenium焦点

来自分类Dev

如何使用Selenium和Python在iframe之间切换?

来自分类Dev

如何使用Selenium和python切换到iframe?

来自分类Dev

如何使用Selenium在Python上单击iframe按钮?

来自分类Dev

Python Selenium:按文本从列表中选择

来自分类Dev

从 selenium python 的下拉列表中选择

来自分类Dev

无法在Selenium WebDriver中选择iframe

来自分类Dev

如何在Selenium中选择iframe?

来自分类Dev

无法在python中使用Selenium从下拉列表中选择一个值

来自分类Dev

如何使用Selenium和Python从DropDown列表中选择一个值

来自分类Dev

使用 python 和 selenium 从下拉列表中选择某个值

来自分类Dev

Python Selenium如何在iframe中单击元素?

来自分类Dev

无法通过 Selenium 使用 ember 定位 iframe 中的元素

来自分类Dev

Python Selenium Web驱动程序:从下拉列表中选择值(无此类元素异常)

来自分类Dev

无法单击按钮并使用Selenium WebDriver从下拉列表中选择元素

Related 相关文章

  1. 1

    使用Selenium Python从列表中选择网页中的特定元素

  2. 2

    如何使用Selenium和Python在iFrame中定位元素

  3. 3

    使用Selenium WebDriver Python无法在iframe中找到元素

  4. 4

    使用Selenium和Python从搜索结果列表中选择

  5. 5

    使用Selenium和Python从搜索结果列表中选择

  6. 6

    使用Python / Selenium切换iframe

  7. 7

    使用Selenium Python获取Iframe Src内容

  8. 8

    使用 Selenium 无法在 iframe 中找到元素

  9. 9

    如何使用Xpath在iframe中选择元素?

  10. 10

    使用Mootools在iframe内容中选择元素?

  11. 11

    如何通过Python使用Selenium WebDriver在iframe中定位元素

  12. 12

    无法使用selenium和python通过sendkeys将文件上传到iframe中的按钮元素中

  13. 13

    selenium.common.exceptions.NoSuchWindowException:消息:使用Selenium和Python单击iframe中的元素没有此类窗口错误

  14. 14

    如何使用Selenium和Python在iframe中单击按钮

  15. 15

    如何使用Python在iframe中切换Selenium焦点

  16. 16

    如何使用Selenium和Python在iframe之间切换?

  17. 17

    如何使用Selenium和python切换到iframe?

  18. 18

    如何使用Selenium在Python上单击iframe按钮?

  19. 19

    Python Selenium:按文本从列表中选择

  20. 20

    从 selenium python 的下拉列表中选择

  21. 21

    无法在Selenium WebDriver中选择iframe

  22. 22

    如何在Selenium中选择iframe?

  23. 23

    无法在python中使用Selenium从下拉列表中选择一个值

  24. 24

    如何使用Selenium和Python从DropDown列表中选择一个值

  25. 25

    使用 python 和 selenium 从下拉列表中选择某个值

  26. 26

    Python Selenium如何在iframe中单击元素?

  27. 27

    无法通过 Selenium 使用 ember 定位 iframe 中的元素

  28. 28

    Python Selenium Web驱动程序:从下拉列表中选择值(无此类元素异常)

  29. 29

    无法单击按钮并使用Selenium WebDriver从下拉列表中选择元素

热门标签

归档