Но когда я пытаюсь войти в систему с использованием только драматурга и без Scrapy, он может войти.
Там могут отличаться от ввода кода Scrapy и кода драматурга, но думайте, что у них одни и те же учетные данные. Он просто изменен для предотвращения утечки данных в коде.
Это мой паук:
Код: Выделить всё
class BiosSpider(scrapy.Spider):
name = "bios"
def start_requests(self):
yield (scrapy.Request(url="https://mysite.com.tr/LoginPage",
callback=self.parse,
meta={"playwright": True,
"playwright_include_page": True,
"playwright_page_methods": [
PageMethod(
"fill", '//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/div/input[@name="bayiKodu"]', value="aaaaa"),
PageMethod(
"fill", '//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/div/input[@name="kullaniciAdi"]', value="aaaaaab"),
PageMethod(
"fill", '//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/div/input[@name="sifre"]', value="ccccccc"),
PageMethod(
"wait_for_timeout", 5*1000),
PageMethod(
"click", '//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/button'),
]
}))
async def parse(self, response):
print("QQQQQQQQQ", response)
print("UUUUUUUUUU", response.request.headers['User-Agent'])
print("HHHHHHHHHHH", response.request.headers)
page = response.meta['playwright_page']
await page.wait_for_timeout(50*1000)
Это просто драматург
Код: Выделить всё
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
bwo = p.chromium.launch(headless=False, slow_mo=50)
page = bwo.new_page()
page.goto("https://mysite.com.tr/LoginPage")
page.locator(
'//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/div/input[@name="bayiKodu"]'
).fill("aaaa"),
page.locator(
'//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/div/input[@name="kullaniciAdi"]').fill("bbbbbb")
page.locator(
'//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/div/input[@name="sifre"]').fill("ccccccc")
page.locator(
'//div[@class="card-body"]/form[@id="uyeGirisFormBayi"]/button').click()
page.wait_for_timeout(500*1000)
page.close()
Мои настройки:
Код: Выделить всё
USER_AGENT = None
REQUEST_FINGERPRINTER_IMPLEMENTATION = "2.7"
TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"
FEED_EXPORT_ENCODING = "utf-8"
PLAYWRIGHT_LAUNCH_OPTIONS = {"headless": False}
DOWNLOAD_HANDLERS = {
"http": "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler",
"https": "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler",
}
TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"
# timeout zamanı
PLAYWRIGHT_DEFAULT_NAVIGATION_TIMEOUT = 600*1000
пожалуйста, помогите мне
чтобы ответить на вопрос:
Подробнее здесь: https://stackoverflow.com/questions/767 ... ight-is-do