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>0
是 False
,而 arguments[0].naturalWidth
是 431
? Dan imej dipaparkan dengan betul pada halaman.
Kemas kini: Kod yang betul ialah:
print(driver.execute_script("return (arguments[0].naturalWidth>0);", image))
typeof
运算符优先于>
。