我正在尝试在Indeed上自动填充Easyily Apply作业应用程序。 Here是使用“轻松应用”方法的“确实”作业应用程序示例。我已经尝试了每种方法来导航嵌套的iframe;但是,我找不到一种有效的方法。我甚至发现之前已经问过这个问题,不幸的是,问题的解决方案对我不起作用。下面是我现在的代码:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('indeed_url_goes_here')
driver.find_element_by_class_name('indeed-apply-button').click()
driver.switch_to_frame(driver.find_element_by_xpath('/html/body/iframe'))
driver.switch_to_frame(driver.find_element_by_xpath('//*[@id="indeedapply-modal-preload-iframe"]'))
driver.find_element_by_class_name('applicant.name')
答案 0 :(得分:0)
首先,该元素没有类名 - 它具有常规名称和ID,因此请使用driver.find_element_by_name
或driver.find_element_by_id
。
答案 1 :(得分:0)
找到第一个父Uncaught ReferenceError: thos is not defined
并切换到它,然后按索引到嵌套框架。
完整的工作代码:
iframe
从弹出窗口打印作业标题:from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("http://www.indeed.com/viewjob?jk=2e3d019aa34a2801&q=bartender&tk=1a9g51n08a3iof6h&from=web&advn=5333586156877432&sjdu=UvkB_mgi5f7NyMagFcTHP0E6zA3mclLGHWb8Kte-0FV3cY2ZuZvj3LUvh8wnnxrqeYWG3HpvTXBK3G4htWfwgfQeMa0N1Tds6VxYb4V3Vlg&pub=4a1b367933fd867b19b072952f68dceb")
driver.find_element_by_class_name('indeed-apply-button').click()
wait = WebDriverWait(driver, 10)
frame = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "iframe[name$=modal-iframe]")))
driver.switch_to.frame(frame)
driver.switch_to.frame(0)
print(driver.find_element_by_css_selector("h1.jobtitle").text)
。