如何从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
...