我正在尝试使用Python和Selenium获取此元素。
<h2 class="jobTitle jobTitle-color-purple">
<span title="Director">Director=</span>
<h2>
这就是我所尝试的:
try:
title = job.find_element_by_xpath('.//td[@class="title"]//a').text
except:
title = job.find_element_by_xpath('.//h2[@class="title"]//a').get_attribute(name="title")
我做错了什么?
no such element: Unable to locate element: {"method":"xpath","selector":".//h2[@class="title"]//a"}
要打印文本Director
,您可以使用以下任一定位器策略:
>
使用css_selector
和get_attribute(innerHTML)
:
print(driver.find_element(By.CSS_SELECTOR, "h2.jobTitle > span[title]").get_attribute("innerHTML"))
使用xpath
和文本属性:
print(driver.find_element(By.XPATH, "//h2[contains(@class, 'jobTitle')]/span[@title]").text)
理想情况下,您需要为位于()的元素的可见性引入WebDriverWait,并且您可以使用以下任一定位器策略:
>
使用CSS_SELECTOR
和text属性:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "h2.jobTitle > span[title]"))).text)
使用XPATH
和get\u属性(“innerHTML”)
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//h2[contains(@class, 'jobTitle')]/span[@title]"))).get_attribute("innerHTML"))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
您可以找到有关如何使用Selenium-Python检索WebElement文本的相关讨论
链接到有用的文档:
get\u attribute()
method获取元素的给定属性或属性
您使用的定位器绝对错误
元素类的h2
属性值是jobtile jobtile紫色
,而不是title
子元素标记名是span
,而不是a
请尝试以下操作:
title = job.find_element_by_xpath('//h2[@class="jobTitle jobTitle-color-purple"]//span').text
您可能需要在此之前添加等待/延迟,以便在尝试访问该元素之前加载页面。
我试图从span(图片中的质量)获取文本,但我还没有找到它无法获取文本的原因。 感谢所有的帮助,我正在使用python。 我的代码: 从html:
尝试从span元素获取数字动态文本值。我的测试是数据驱动的,所以每次运行都需要从网页中获取文本(美元金额),然后将其与Excel中的期望值进行比较。由于某种原因,我的代码不起作用。请帮忙解决。 我得HTML: 我的定位器:By PRICE=By.xpath(“//div[@class='PRICE ng-binding'][@ng-hide='calc.iscalculating']/text()
我有以下html片段: 我已经用以下XPath找到了该元素: 谢谢,里亚斯
我想在这里得到这个特定元素内的文本 如何使用python和selenium从“数据剪贴板文本”中获取文本? 我试过了 没有运气
我正在尝试使用webdriver从上面的html代码中获取动态跨度文本,但得到的是: org.openqa.selenium.nosuchelementException:找不到元素:{“method”:“id”,“selector”:“MathQ2”} 我需要从span id“MathQ2”获取文本:“6+4=” 此文本“6+4=”在每次刷新页面或加载新页面时都在更改 我尝试过xpath、id、
您好,我想得到的值以下的"交联",但我不知道如何做到这一点。 我正在使用Jsoup,下面是我的代码: 这就是我所拥有的: 你有什么想法可以得到价值,而不是“cotation”? 提前谢谢。