Zalio supratimo apie Python neturiu, bet ko gero reiktu naudot
try-except, pvz:
try:
if driver.find_element(By.XPATH, "//*[contains(text(), 'tekstas')]"):
print('rasta')
except:
print('klaida arba nerasta')
Bet jei neranda del to, kad puslapis dar neuzloadintas. Tokiu atveju
reiktu naudot explicit wait, kazkas tokio:
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
finally:
driver.quit()
On 2022-02-09 23:25, Mantas wrote:
> Jei if eilutę pakeičiu į šitą, tada sulaukia ir randa tekstą.
> Tačiau jei teksto nėra, neperšoka į else, o išmeta klaidas kad neranda > ir užbaigia programą.
> > if driver.find_element(By.XPATH, "//*[contains(text(), 'tekstas')]"):
> > > On 2022-02-09 22:44, Mantas wrote:
>> Dar klausimas iš Selenium - formas supildo, mygtukus suspaudo OK.
>> Vienintelis dalykas kas nepavyksta, tai neranda teksto puslapyje. >> Atrodo nespėja užloadinti, nes jei prieš if sakinį įrašau >> time.sleep(2), tai OK, o jei ne, tai visada nušoka į else. Kodas:
>>
>> driver.implicitly_wait(3)
>> time.sleep(2)
>>
>> if 'ieškomas tekstas' in driver.page_source:
>> print('rasta')
>>
>> else:
>>
>> print('nerasta')
>>
>> Kaip pataisyt?
>>
>>
>> On 2022-02-09 13:32, Pirmininkas wrote:
>>> Jei reikia logintis i puslapi, kuris ne 2000-aisiais skurtas, tada
>>> reikia. Siaip Selenium labai smagus dalykas. Viena karta pasiknisi,
>>> ir pasidarai labai universalu iranki daugybei atveju.
>>>
>>> On 2022-02-09 13:22, Grzegorz Brzęczyszczykiewicz wrote:
>>>> 2022-02-09 11:11, Pirmininkas rašė:
>>>>> Nelabai kitaip Seleniumo paleisi
>>>>
>>>> o tai gal jo ir nereikia?
>>>>
>>>
>>
>>
>