Selenium Otomatik İş Kurdan Yayınlanan İş İlanları Çekme Botu

böyle bir kod yazdım lakin:

from UserInfo import tcno,password
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

class Iskur:
	def __init__(self,tcno,password):
		self.browser = webdriver.Chrome()
		self.tcno = tcno
		self.password = password

	def girisyap(self):
		self.browser.get("https://esube.iskur.gov.tr/")
		time.sleep(3)
	
		girisbutton = self.browser.find_element_by_xpath('//*[@id="ctl01_divMisafir"]/div[10]/div[1]/div/div[1]/div/a[2]/b')
		girisbutton.click()
		time.sleep(3)

		tcInput = self.browser.find_element_by_xpath('//*[@id="ctl01_userLoginIsarayan_ctlPersonalUserId"]')
		passwordInput = self.browser.find_element_by_xpath('//*[@id="ctl01_userLoginIsarayan_ctlPersonalPassword"]')

		tcInput.send_keys(self.tcno)
		passwordInput.send_keys(self.password)

		isarayangiris = self.browser.find_element_by_xpath('//*[@id="ctl01_userLoginIsarayan_ctlPersonalLogin"]')
		isarayangiris.click()

	def listele(self):
		self.browser.get("https://esube.iskur.gov.tr/Istihdam/AcikIsIlanAra.aspx")

		sec1 = self.browser.find_element_by_xpath("//select[@id='ctl04_ctlIl']/option[text()='İZMİR']")
		sec1.click()
		
		time.sleep(1)

		sec3 = self.browser.find_element_by_xpath("//select[@id='ctl04_ctlIlanTarihi']/option[text()='Son 1 Hafta']")
		sec3.click()

		time.sleep(3)

		ara = self.browser.find_element_by_css_selector("#ctl04_ctlAcikIsPageCommand_CommandItem_Search")
		ara.click()

		time.sleep(3)

		dialog = self.browser.find_element_by_css_selector("table[id=ctl04_ctlGridAcikIslerListeDetail] tbody")

		isCount = len(dialog.find_elements_by_css_selector("tr"))
		
		print(f"İşkur İlan Sayıları : {isCount}")

		action = webdriver.ActionChains(self.browser)

		while True:
			dialog.click()
			action.key_down(Keys.SPACE).key_up(Keys.SPACE).perform()
			time.sleep(2)

			newCount = len(dialog.find_elements_by_css_selector("tr"))	
			
			if isCount != newCount:
				isCount = newCount
				print(f"second count : {newCount}")
				time.sleep(1)
			else: 
				break

		isk = dialog.find_elements_by_css_selector("tr")
		islist = []
		sayac = 0
		bassayi = 1
		for user in isk:
			sayac += 1
			bassayi += 1 
			link1 = user.find_element_by_xpath("/html/body/form/div[5]/div/div/div/div/div/div/div[4]/div[1]/table/tbody/tr[" + str(bassayi) + "]/td[1]/div/a").get_attribute("href")
			print(f"{str(sayac)}.)- https://esube.iskur.gov.tr/Istihdam/AcikIsIlanDetay.aspx?uiID={links}&isyeriTuru=Özel")


iskur = Iskur(tcno,password)
iskur.girisyap()
time.sleep(3)
iskur.listele()

İşkur İlan Sayıları : 16
1.)- Request Rejected
2.)- Request Rejected
3.)- Request Rejected
4.)- Request Rejected
5.)- Request Rejected
6.)- Request Rejected
7.)- Request Rejected
8.)- Request Rejected
9.)- Request Rejected
10.)- Request Rejected
11.)- Request Rejected
12.)- Request Rejected
13.)- Request Rejected
14.)- Request Rejected
15.)- Request Rejected
Traceback (most recent call last):
File “main.py”, line 85, in
iskur.listele()
File “main.py”, line 76, in listele
link1 = user.find_element_by_xpath(“/html/body/form/div[5]/div/div/div/div/div/div/div[4]/div[1]/table/tbody/tr[” + str(bassayi) + “]/td[1]/div/a”).get_attribute(“href”)
File “/home/barron4335/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py”, line 351, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File “/home/barron4335/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py”, line 659, in find_element
{“using”: by, “value”: value})[‘value’]
File “/home/barron4335/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py”, line 633, in _execute
return self._parent.execute(command, params)
File “/home/barron4335/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py”, line 321, in execute
self.error_handler.check_response(response)
File “/home/barron4335/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py”, line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“xpath”,“selector”:“/html/body/form/div[5]/div/div/div/div/div/div/div[4]/div[1]/table/tbody/tr[17]/td[1]/div/a”}
(Session info: chrome=87.0.4280.66)

hata almaktayım

Yapmak İstediğim İse Şu:

  1. Arama Yapacak ( Arama Yapıyor )
  2. Kaç Sayfa Varsa Hepsini Gezecek Ve En sonda bana kaç adet ilan olduğunun sayısını verecek (sadece ilk sayfadaki ilanları sayıp veriyor)
  3. islist listeye append edip dosya yazma ile bu listedekinleri texte yazdırtmak
  4. bu islistin yazdığı textden ilanlara tek tek ziyaret ederek ilan bilgilerini bir text yazdırtmak.
  5. yazdırtmadan önce text’e ilan ismi neyse text ismide o olması

Şimdiden yardımlarınız için teşekkür ederim.
bu yardımcı olursanız sevinirim

burdaki hata sizin orda vermiş olduğunuz xpathe tıklayamıyor

[Request Rejected](Request Rejected tırnak içerisine aldığım ı silerek “00005788629” sadece bunu alarak “%27,%27%27)” bu parantezdekini silerek “&isyeriTuru=%C3%96zel)” bunu çekmek istiyorum

bunu yukarıda açıkladığım gibi çekmeye çalışıyorum
https://esube.iskur.gov.tr/Istihdam/AcikIsIlanDetay.aspx?uiID=javascript:__doPostBack(‘ctl04$ctlGridAcikIslerListeDetail$ctl16$flag_00005788629’,’’)&isyeriTuru=Özel

çektiğinizi replace komutu ile silebiliriz fakat dediğiniz şeyin ilk gçnderdiğiniz şeyle pek alakası yok

İlk hata için https://www.reddit.com/r/Python/comments/k2kbs4/sillynium_auto_generate_working_python_selenium/ bunla deneyebilirsiniz