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:
- Arama Yapacak ( Arama Yapıyor )
- 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)
- islist listeye append edip dosya yazma ile bu listedekinleri texte yazdırtmak
- bu islistin yazdığı textden ilanlara tek tek ziyaret ederek ilan bilgilerini bir text yazdırtmak.
- 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