Maison > Questions et réponses > le corps du texte
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>0
是 False
,而 arguments[0].naturalWidth
是 431
? 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粉7655701152024-04-04 00:48:58
typeof
运算符优先于 >
。
typeof 431 === "number" "number" > 0 === false typeof 431 > 0 === false