python的span方法_如何从Python中的span类中获取特定文本(selenium)(How to get a specific text out from span class in Py...

使用Python的selenium库获取网页中span类的特定文本时遇到问题,错误提示'WebDriver'对象没有'findElement'属性。解决方案是使用'find_element'而非'findElement'。示例代码展示了正确获取文本的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何从Python中的span类中获取特定文本(selenium)(How to get a specific text out from span class in Python (selenium))

我有以下span类:

1 - 25 of 93995 items

它的Xpath是//*[@id="registerGrid"]/div[3]/span

我想得到93995号码。

我尝试过以下方法:

driver.findElement(By.xpath("""//*[@id="registerGrid"]/div[3]/span""")).getText()

回溯(最近的呼叫最后):

File "", line 1, in

driver.findElement(By.xpath("""//*[@id="registerGrid"]/div[3]/span""")).getText()

AttributeError: 'WebDriver' object has no attribute 'findElement'

那我该怎么办?

I have the following span class:

1 - 25 of 93995 items

and its Xpath is //*[@id="registerGrid"]/div[3]/span

I would like to get the number 93995 out.

I have tried the following:

driver.findElement(By.xpath("""//*[@id="registerGrid"]/div[3]/span""")).getText()

Traceback (most recent call last):

File "", line 1, in

driver.findElement(By.xpath("""//*[@id="registerGrid"]/div[3]/span""")).getText()

AttributeError: 'WebDriver' object has no attribute 'findElement'

What shall I do then?

原文:https://stackoverflow.com/questions/43997446

2020-02-22 08:23

满意答案

语法错误:使用driver.find_element而不是driver.findElement

from selenium.webdriver.common.by import By

element = driver.find_element(By.XPATH, '//*[@id="registerGrid"]/div[3]/span')

text = element.text

Syntax error: Use driver.find_element instead of driver.findElement

from selenium.webdriver.common.by import By

element = driver.find_element(By.XPATH, '//*[@id="registerGrid"]/div[3]/span')

text = element.text

2017-05-16

相关问答

您应该使用Jsoup - 一个JAVA HTML解析器库来执行这些操作。 您的代码应该正常工作。 根据文档, getText()

返回此元素的可见(即未隐藏的CSS)innerText,包括子元素,没有任何前导或尾随空格 因此,它将返回子元素的内部文本。 即内跨元素的文本。 为了仅定位带有文本内容的内部span元素,您可以继承By Class并根据需要覆盖受保护的方法,尽管期望所有子类都依赖于通过此类的静态方法提供的基本查找机制 You should use Jsoup - A JAVA H...

如果你有FireFox和FirePath,你可以测试xpath,看看你得到了多少和哪些匹配。 例如: //span[text()="Statistics"]

这可能导致1个匹配节点,但也可能导致更多。 我们假设有两个匹配,你想要的是第二个匹配。 然后你会选择: //span[text()="Statistics"][2]

If you have FireFox with FirePath you can test the xpath and see how many and which mat...

文本9.692位于父

。 您可以使用此xpath获取标记 driver.find_elements_by_xpath("//li[.//span[@class='tab-box']]")

并删除文本以获得结果 deposit_text = driver.find_elements_by_xpath('//span[@class="tab-box"]').text

all_text = driver.find_elements_by_xpath('//li[//span...

根据您提供的用于提取文本搜索区域的HTML ,您可以使用以下代码行: String HeaderTxt = driver.findElement(By.xpath("//div[@class='form-style-abc']/fieldset/legend[(self::legend) and not (@class='number')]")).getText();

System.out.println(HeaderTxt);

更新1 根据您的评论更新,您仍然可以看到NoSuchElement...

我知道你已经找到了答案,但我相信这是错误的,因为你还会选择其他节点,因为重要元素仍然在非重要元素中。 也许它适用于你的具体情况,因为这不是你所追求的文字。 但是这里有更多的答案: //div[@class='show_result' and starts-with(.,'Important-Element')] //div[span[text()='Important-Element']] //div[contains(span/text(),'Important-Element') and no...

尝试这个 findElement(By.cssSelector("div.y6>span>b")).getText();

Try this findElement(By.cssSelector("div.y6>span>b")).getText();

文本是无关紧要的,你应该使用id等..: "//*[@id='UserContent']//span[@itemprop='description']//text()"

所以在硒中: text = driver.find_element_by_xpath("//*[@id='UserContent']//span[@itemprop='description']").text

或者使用css选择器: text = driver.find_element_by_css("#UserConten...

尝试按类名定位所需的节点: copiedText = driver.find_element_by_css_selector("span.summary.number").text

print(copiedText)

另请注意,节点可以动态生成,因此您可能需要等到它出现在DOM中: from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait as wait

...

语法错误:使用driver.find_element而不是driver.findElement from selenium.webdriver.common.by import By

element = driver.find_element(By.XPATH, '//*[@id="registerGrid"]/div[3]/span')

text = element.text

请参阅selenium文档以查找元素 Syntax error: Use driver.find_element in...

nearest()通过DOM树向上移动,因此它将开始查看div.fregith,然后从那里向上移动DOM树。 试试这个你的选择器: $(this).next('label').find('.price')

closest() goes UP through the DOM tree, so it would starting looking in div.fregith and then go up the DOM tree from there. try this as your select...

相关文章

abs(x) 说明:abs(x)返回x的绝对值,如果参数是复数,则返回复数的模; 参数x:整

...

Python 编程语言具有很高的灵活性,它支持多种编程方法,包括过程化的、面向对象的和函数式的。但最重

...

python2和python3的区别,1.性能 Py3.0运行 pystone benchmark的速

...

python的官网:http://www.python.org/ 有两个版本,就像struts1和st

...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值