无法从python中搜索标记,但可以在chrom中查看

2024-10-01 02:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

无法在此URL中搜索以下标记

class="iw_component" id="c1417094965155"

我可以从我的桌面chrome浏览器中查看它,但在执行以下python脚本时无法读取它

import time
from selenium import webdriver
from pyvirtualdisplay import Display

display=Display(visible=0,size=(800,800))
display.start()

driver=webdriver.Firefox()
driver.get('url')
time.sleep(5)
title=driver.page_source
print title
driver.close()
display.stop()

Tags: from标记importidurltimetitledriver
1条回答
网友
1楼 · 发布于 2024-10-01 02:26:47

您可以使用类名来使用^{}定位元素:

divs = driver.find_elements_by_class_name("iw_component")
for div in divs:  # use a descriptive variable name
    html_id = div.get_attribute("id")
    ...

另外,可以使用Explicit Waits来等待特定元素,而不是time.sleep(5)来模拟/延迟python等待,直到加载所有元素:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement"))
    )
finally:
    driver.quit()

对于您来说,定位器策略的一部分是:

presence_of_element_located((By.CLASS_NAME, "iw_component"))

相关问题 更多 >