recherche

Maison  >  Questions et réponses  >  le corps du texte

Selenium + Python - inspecter l'image viaexecute_script

Je dois vérifier qu'une image est affichée sur la page en utilisant du sélénium en python. Par exemple, examinons le logo dans le coin supérieur gauche de la page https://openweathermap.org/. J'utilise execute_script et mon code est :

def test_image(driver):
    driver.get('https://openweathermap.org/')
    time.sleep(10)
    image = driver.find_element(By.CSS_SELECTOR, "#first-level-nav > li.logo > a > img")
    print(image)
    print(driver.execute_script("return (typeof arguments[0].naturalWidth!=\"undefined\");", image))
    print(driver.execute_script("return (typeof arguments[0].naturalWidth>0);", image))
    print(driver.execute_script("return (arguments[0].naturalWidth);", image))

J'ai obtenu ce résultat :

True
False
431

Pourquoi typeof argument[0].naturalWidth>0False,而 arguments[0].naturalWidth431 ? Et l'image s'affiche correctement sur la page.

Mise à jour : Le code correct est :

print(driver.execute_script("return (arguments[0].naturalWidth>0);", image))

P粉899950720P粉899950720228 Il y a quelques jours489

répondre à tous(1)je répondrai

  • P粉765570115

    P粉7655701152024-04-04 00:48:58

    typeof 运算符优先于 >

    typeof 431     === "number"
    "number"   > 0 === false
    typeof 431 > 0 === false

    répondre
    0
  • Annulerrépondre