Я хотел бы найти 'Код' из https://www.asx300list.com/. Ниже приведены пути xpath для кода:
ABP
//*[@id="post-2"]/div/table/tbody/tr[1]/td[1]
AX1
//*[@id="post-2"]/div/table/tbody/tr[2]/td[1]
Как вы можете видеть изменения xpath, основанные на '[tr]' .
Я попытался создать код, который изменяет переменную для каждого xpath, но я продолжаю получать сообщение о том, что это недопустимое выражение xpath.
from selenium import webdriver
chrome_path = r"C:\Users\Harrison Pollock\Downloads\Python\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
driver.get('https://www.asx300list.com/')
for tr in range(1,300):
codes = driver.find_elements_by_xpath('//*[@id="post 2"]/div/table/tbody/tr[{tr}]/td[1]')
lencodes = len(codes)
for i in range(lencodes):
print(codes[i].text)
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//*[@id="post-2"]/div/table/tbody/tr[{tr}]/td[1]' is not a valid XPath expression.