首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Selenium中选择带有样式标签和文本的元素

在Selenium中选择带有样式标签和文本的元素
EN

Stack Overflow用户
提问于 2019-08-15 18:20:31
回答 2查看 309关注 0票数 0

我最初要求的是在css之前使用空样式和::的组合,但Selenium似乎无法识别css。

因此,我张贴了一个更大的html,并要求另一种组合:样式为空,文本后面是样式。这将是style=“”>完整的Access<

这是扩展的html:

代码语言:javascript
复制
<span class="highwire-citation-access highwire-citation-access-check" data-pisa-id="sci;science.aav1483" data-atom-uri="/sci/363/6422/eaav1483.atom" data-request-view="full">
<i class="highwire-access-icon highwire-access-icon-user-access user-access fa fa-unlock-alt" title="Full Access" aria-hidden="true" style=""></i>
<span class="element-invisible highwire-access-icon highwire-access-icon-user-access" style="">Full Access</span>
<i class="highwire-access-icon highwire-access-icon-no-access no-access fa fa-lock" title="Restricted Access" aria-hidden="true" style="display:none;"></i>
<span class="element-invisible highwire-access-icon highwire-access-icon-no-access" style="display:none;">Restricted Access</span></span>
<i class="highwire-access-icon highwire-access-icon-user-access user-access fa fa-unlock-alt" title="Full Access" aria-hidden="true" style=""></i>
<span class="element-invisible highwire-access-icon highwire-access-icon-user-access" style="">Full Access</span>
<i class="highwire-access-icon highwire-access-icon-no-access no-access fa fa-lock" title="Restricted Access" aria-hidden="true" style="display:none;"></i>
<span class="element-invisible highwire-access-icon highwire-access-icon-no-access" style="display:none;">Restricted Access</span>

python相关代码:

代码语言:javascript
复制
child  = browser.find_elements(By.XPATH,(" %s" % exp))
for t in child:
    verbose = t.get_attribute('innerHTML') 

现在,表达式%s已替换为xpath:

代码语言:javascript
复制
 "//*[(@style='""')]/../../*"

并且结果是完全访问和受限访问元素。

EN

回答 2

Stack Overflow用户

发布于 2019-08-15 18:38:34

你试过这个吗?

代码语言:javascript
复制
i[title="Full Access"]::before { ... }
票数 0
EN

Stack Overflow用户

发布于 2019-08-16 15:35:29

要提取文本Full Access,您必须导出visibility_of_element_located()的WebDriverWait,您可以使用以下任一Locator Strategies

使用XPATH

打印(class(driver,20).until(EC.element_to_be_clickable((By.XPATH,“//i@WebDriverWait=‘highwire-access-icon-user-access user-access fa-unlock-alt’and @title='Full title:必须添加以下导入:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57508212

复制
相关文章

相似问题

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