Ich versuche ein Skript zu erstellen, das sich auf Stellen auf LinkedIn bewerben wird. Es kann sich erfolgreich anmelden und nach Jobs suchen, Elemente sammeln, die das spezielle Symbol "linkedIn-apply" enthalten, und hier beginnen die Probleme. Sobald es auf eines von denen klickt, lädt es erfolgreich die Seite des Job-Postings, aber danach kann es KEINEN scheinen, irgendetwas zu lokalisieren.Selenium kann nichts finden, nachdem ich den Link geklickt und den Rahmen aktualisiert habe
Um weitere Informationen hinzuzufügen, öffnet LinkedIn beim Klicken auf eine Stellenanzeige automatisch die Buchung in einem neuen Tab. Ist es möglich, dass der Treiber immer noch auf der Hauptseite ist und nicht sieht, was auf der anderen Registerkarte ist?
Gesamte Datei:
require 'selenium-webdriver'
require 'byebug'
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"excludeSwitches" => [ "--ignore-certificate-errors" ]})
driver = Selenium::WebDriver.for :chrome, :switches => %w[--test-type]
driver.navigate.to("https://www.linkedin.com/uas/login?goback=&trk=hb_signin")
# driver.switch_to.frame(0)
driver.find_element(:name, "session_key").send_keys("someuser")
driver.find_element(:name, "session_password").send_keys("somepassword")
driver.find_element(:name, "signin").click()
driver.switch_to.frame(0)
sleep 2
driver.find_element(:link_text, "Jobs").click()
sleep 2
e = driver.find_elements(:class, "in-apply-icon")
if e.empty?
driver.find_element(:class, "expand-button").click
else
e.each do |posting|
posting.click
sleep 10
driver.switch_to.frame(0)
sleep 10
# THIS is where it gets stuck. It cannot find the 'apply button'. I have tried
using :id and alas, no luck. I have tried finding other things and no luck.
driver.find_element(:class, "apply-button").click
sleep 5
driver.find_element(:id, "file-browse-input").send_keys(somepath)
sleep 5
driver.find_element(:id, "send-application-button").click
#find and click on apply
#upload resume
#submit
#hit x button/leave
#hit back button
end
end
Der Code nach unten hin nicht abgeschlossen ist, bin ich davon bewusst. Ich kann nicht einmal vorbeikommen, indem ich auf den Anwenden-Knopf klicke, also ist es zu diesem Zeitpunkt nicht wichtig.
Ich schätze, das Element, das Sie gefunden haben, wurde veraltet oder nicht zugänglich, da die Seite aktualisieren kann, sobald Sie sich für einen Auftrag bewerben. Wenn das der Fall ist, müssen Sie die Schaltfläche anwenden nach jedem Klick finden. Gibt es einen Fehler? Teilen Sie bitte – Siva
@Siva Der einzige Konsolenfehler ist der, der besagt, dass es kein solches Element gibt. –