首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得文本的CSS选择器

如何获得文本的CSS选择器
EN

Stack Overflow用户
提问于 2019-05-25 13:24:03
回答 2查看 112关注 0票数 1

我正试着从一个网站上用Selenium (Python)擦拭一些日期。我想存储来自滚转-s1最后订舱滚转-s2sr-x倍-最后一次类的文本。

以下是该网站的代码:

代码语言:javascript
复制
<div data-component="onview-animate" data-anim-type="rollover" data-anim-trigger="mouseenter" class="sr--x-times-booked js_sr_persuation_msg">
    <div class="rollover-s1 lastbooking" rel="300">
3-mal gebucht für Ihre Daten in den letzten 12 Stunden auf unserer Seite
    </div>
    <div class="rollover-s2 sr--x-times-last-time" rel="300">
Zuletzt gebucht  für Ihre Daten vor 2 Stunden
    </div>
</div>

下面是我的Python代码:

代码语言:javascript
复制
first = hotel.find_elements_by_css_selector("div.rollover-s1.lastbooking")
second = hotel.find_elements_by_css_selector("div.rollover-s2.sr--x-times-last-time")

奇怪的是,我得到了文本3-mal für Ihre Daten在den 12 Stunden auf unserer Seite为第一类,但我得到了一个空字符串"“的第二类。

你知道我第二节课做错了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2019-05-25 19:39:18

您的css选择器已经正确。事实上,你可以用更短的:

  1. “.展期-S1”
  2. “.展期-S2”

现在,为了弄清楚为什么第二次滚动显示为空白,请查看脚本的实际操作,并查看第二次滚动是否与第一次不同。第一个正在显示,第二个是隐藏的吗?是否都是隐藏的,但是第二个还没有被触发/显示在页面上?

票数 0
EN

Stack Overflow用户

发布于 2019-05-25 20:13:25

所需的元素是一个反应元素,因此要定位该元素,首先必须诱导WebDriverWait才能单击该元素,并且可以使用以下任何一种解决方案:

  • 使用CSS_SELECTOR: 打印( 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.sr--x-times-booked.js_sr_persuation_msgdata-component='onview-animate‘div.rollover-s2.sr--x-times-last-time"))).get_attribute("innerHTML")),驱动程序,WebDriverWait)
  • 使用XPATH: 打印(驱动程序,20).until(EC.element_to_be_clickable((By.XPATH,“//div@class=‘sr-x-倍-订票js_sr_persuation_msg’和@data-component='onview-animate'//div@class='rollover-s2 sr--x-times-last-time'"))).get_attribute("innerHTML")) )
  • 注意事项:您必须添加以下导入: 从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56305233

复制
相关文章

相似问题

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