在我单击“申请工作”后,我正在尝试检查确实网站上的按钮,但是我的代码似乎不起作用。 首先检查是否启用了继续按钮,然后它将关闭页面,切换到主窗口并申请下一个作业。如果在if语句中使用if else来检查是否还有另一个继续按钮,它将关闭页面并切换到主窗口;如果不单击“应用”按钮来完成并关闭页面,然后切换到主窗口。
对不起,我还不能发布图片,所以我必须链接它们。
这是您点击应聘职位后的图片 https://imgur.com/FzITw8q
这里是图片,如果还有另一个继续按钮 https://imgur.com/iJMFqp8
如果没有继续按钮,仅应用按钮https://imgur.com/62KMUwY
,则为图片# Click on continue button if there any
if WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH,'//*[@id="form-action-continue"]'))).is_enabled():
WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH,'//*[@id="form-action-continue"]'))).click()
if WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH,'//*[@id="form-action-continue"]'))).is_enabled():
self.driver.close()
self.driver.switch_to.window(main)
else:
WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH,'//*[@id="form-action-submit"]'))).click()
self.driver.close()
self.driver.switch_to.window(main)
#If no button close the window and switch to main window
else:
self.driver.close()
self.driver.switch_to.window(main)
我也尝试过is_displayed(),但是根本不起作用。
答案 0 :(得分:0)
首先,我想知道您如何在WebDriverWait上调用isEnabled()。这将只等待一个元素,直到找到它,并且不会返回其WebElement。因此,在第1、2和3行启用了Apply时,将引发错误。 首先将该元素分配给一个变量,然后在WebDriverWait中调用该变量。找到/等待元素直到由WebDriverWait定位到元素之后,请使用click或启用方法,该方法使用变量而不是WebDriverWait。