我正在尝试获取Selenium脚本,以从MTurk HIT下载图像。我的脚本能够登录MTurk,转到要从中获取图像的HIT的“接受新的HIT”页面,但是随后我无法将其指向所需的特定图像。我已经尝试了硒文档(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=33FBRBDW6OZTOIJ53FZR716JLOQC8N&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&hitId=3D3B8GE892RAASDPNAMA2D4I3E3P9G&workerId=A1DY4DM16TBFPL&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"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句