gpt4 book ai didi

python - 难以将 Selenium 指向正确的 iFrame [python]

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:33 24 4
gpt4 key购买 nike

我正在尝试让我的 selenium 脚本从 MTurk HIT 下载图像。我的脚本能够登录 MTurk,转到我想要从中获取图像的 HIT 的“接受新 HIT”页面,但随后我无法将其指向我想要的特定图像。我已经尝试了 selenium 文档 (find_element_by_class_name, by_id, by_element) 等中列出的每种方法,但我无法弄清楚。

到目前为止我所拥有的:

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Firefox()

driver.get("https://www.mturk.com/mturk/myhits")

elem = driver.find_element_by_id("ap_email")
elem.send_keys('####')
elem = driver.find_element_by_id("ap_password")
elem.send_keys('###')
elem = driver.find_element_by_id("signInSubmit-input")
elem.click()
driver.get("https://www.mturk.com/mturk/previewandaccept?groupId=3ZXRRTK2NDCB5NW5M24C9P2OWG41OF")
hit = driver.switch_to_frame("ExternalQuestionIFrame")
print(hit)

这给了我输出:

None

我期望的输出:链接中的 HTML https://backend.ibotta.com/receipt_moderation/50730299/edit?assignmentId=33FBBRBDW6OZTOIJ53FZR716JLOQC8N&hitId=3D3B8GE892RAASDPNAMA2D4I3E3P9G&workerId=A1DY4DM16TBFPL&turkSubmitTo=https%3A %2F%2Fwww.mturk.com

我尝试访问的元素在页面源中被称为 ExternalQuestionIFrame,如下所示:

 </style><iframe height="1000" scrolling="auto" frameborder="0" align="center" src="https://backend.ibotta.com/receipt_moderation/50730299/edit?assignmentId=33FBRBDW6OZTOIJ53FZR716JLOQC8N&amp;hitId=3D3B8GE892RAASDPNAMA2D4I3E3P9G&amp;workerId=A1DY4DM16TBFPL&amp;turkSubmitTo=https%3A%2F%2Fwww.mturk.com" name="ExternalQuestionIFrame"></iframe>

有人能看出我哪里出错了吗?非常感谢任何回复!

最佳答案

您无需切换到 iframe 即可获取其src。只需找到该元素并使用 get_attribute() 即可检索 src 属性值:

frame = driver.find_element_by_name("ExternalQuestionIFrame")
print(frame.get_attribute("src"))

关于python - 难以将 Selenium 指向正确的 iFrame [python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33859856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com