首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从python中搜索标签,但可以在chrome中查看它

无法从python中搜索标签,但可以在chrome中查看它
EN

Stack Overflow用户
提问于 2018-05-30 17:50:10
回答 1查看 71关注 0票数 1

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

代码语言:javascript
复制
class="iw_component" id="c1417094965155"

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

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2018-05-30 20:16:28

您可以使用类名通过find_elements_by_class_name来定位元素

代码语言:javascript
复制
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等待,直到加载完所有元素:

从selenium导入webdriver从selenium.webdriver.common.by导入通过从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.support导入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”)最后: driver.quit()

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

代码语言:javascript
复制
presence_of_element_located((By.CLASS_NAME, "iw_component"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50601568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档