试图找到正确的 xpath
Trying to find the correct xpath
我做了代码,请看下面几行:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.by import By
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://www.flashscore.com/match/jBvNMej6/#match-summary")
print(driver.title)
driver.maximize_window() # For maximizing window
driver.implicitly_wait(10) # gives an implicit wait for 20 seconds
driver.find_element_by_id('onetrust-reject-all-handler').click()
time.sleep(2)
driver.find_element(By.CLASS_NAME,'previewShowMore.showMore').click()
main = driver.find_element(By.CLASS_NAME,'previewLine'[b[text()="Hot stat:"]]/text)
print(main.text)
time.sleep(2)
driver.close()
但是,我收到以下错误。
main = driver.find_element(By.CLASS_NAME,'previewLine'[b[text()="Hot stat:"]]/text)
^
SyntaxError: invalid syntax
我该怎么做才能避免这种情况?
谢谢! :)
我没有找到任何文本 'Hot stat:'。您必须在找到的地方附上 html 代码。
我假设您要检索特定 previewLine 的文本?
main = driver.find_element(By.XPATH ,'//div[@class="previewLine"]/b[contains(text(),"Hot streak")]/..')
print(main.text)
嗯,在这一行
main = driver.find_element(By.CLASS_NAME,'previewLine'[b[text()="Hot stat:"]]/text)
你的组合很棒:)
您的定位器绝对无效。
此外,如果您想打印没有“Hot streak”的段落文本,您需要从整个 div
(段落)文本中删除该字符串。
这应该可以实现您想要实现的目标:
main = driver.find_element(By.XPATH,"//div[@class='previewLine' and ./b[text()='Hot streak']]").text
main = main.replace('Hot streak','')
print(main)
我做了代码,请看下面几行:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.by import By
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://www.flashscore.com/match/jBvNMej6/#match-summary")
print(driver.title)
driver.maximize_window() # For maximizing window
driver.implicitly_wait(10) # gives an implicit wait for 20 seconds
driver.find_element_by_id('onetrust-reject-all-handler').click()
time.sleep(2)
driver.find_element(By.CLASS_NAME,'previewShowMore.showMore').click()
main = driver.find_element(By.CLASS_NAME,'previewLine'[b[text()="Hot stat:"]]/text)
print(main.text)
time.sleep(2)
driver.close()
但是,我收到以下错误。
main = driver.find_element(By.CLASS_NAME,'previewLine'[b[text()="Hot stat:"]]/text) ^ SyntaxError: invalid syntax
我该怎么做才能避免这种情况?
谢谢! :)
我没有找到任何文本 'Hot stat:'。您必须在找到的地方附上 html 代码。
我假设您要检索特定 previewLine 的文本?
main = driver.find_element(By.XPATH ,'//div[@class="previewLine"]/b[contains(text(),"Hot streak")]/..')
print(main.text)
嗯,在这一行
main = driver.find_element(By.CLASS_NAME,'previewLine'[b[text()="Hot stat:"]]/text)
你的组合很棒:)
您的定位器绝对无效。
此外,如果您想打印没有“Hot streak”的段落文本,您需要从整个 div
(段落)文本中删除该字符串。
这应该可以实现您想要实现的目标:
main = driver.find_element(By.XPATH,"//div[@class='previewLine' and ./b[text()='Hot streak']]").text
main = main.replace('Hot streak','')
print(main)