我正在尝试制作一个可以大量应用于LinkedIn上的工作的脚本。它能够成功登录并搜索作业,收集包含特殊“linkedIn-apply”图标的元素,这就是问题的开始。一旦点击其中一个,它就会成功加载作业发布的页面,但之后它似乎找不到任何东西。
要添加更多信息,点击作业发布时,LinkedIn会自动在新标签页中打开发布内容。驱动程序是否仍然在主页面上并且看不到另一个选项卡上的内容?
整个文件:
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
底部的代码并不完整,我知道这一点。我甚至无法点击“应用”按钮,因此此时并不重要。
答案 0 :(得分:2)
确保是否有框架,您将切换到正确的框架,然后找到该元素。切换到索引为零的帧会将您带到默认帧。