Selenium + Python - periksa imej melalui execute_script
P粉899950720
P粉899950720 2024-04-03 09:32:15
0
1
486

Saya perlu mengesahkan bahawa imej dipaparkan pada halaman menggunakan selenium dalam python. Sebagai contoh, mari kita periksa logo di sudut kiri atas halaman https://openweathermap.org/. Saya menggunakan execute_script dan kod saya ialah:

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))

Saya mendapat keputusan ini:

True
False
431

Kenapa typeof argument[0].naturalWidth>0False,而 arguments[0].naturalWidth431? Dan imej dipaparkan dengan betul pada halaman.

Kemas kini: Kod yang betul ialah:

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

P粉899950720
P粉899950720

membalas semua(1)
P粉765570115

typeof 运算符优先于 >

typeof 431     === "number"
"number"   > 0 === false
typeof 431 > 0 === false
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan