Я должен выбрать любой год в зависимости от года, указанного в листе Excel, сейчас я дал год непосредственно в коде. Возможность получить данные, написанные для города, непосредственно из листа Excel, и также работает жесткое кодирование года. .В проблеме есть n лет в виде ссылок (не в раскрывающихся списках) вместо написания xpath для каждого года, есть ли способ получить значение, указанное в листе Excel, и поместить его в xpath, например, «год»? ,
Yearlink = driver.find_element_by_xpath ( '// диапазон [содержит (текст (), "год")]');
Я сейчас использую spyder-python 3.7
Пожалуйста, найдите код, который я пробовал
driver = webdriver.Chrome
driver.fullscreen_window();
driver.get('url');
time.sleep(5)
Workbook=xlrd.open_workbook("excel path")
Details = Workbook.sheet_by_index(0);
city=Details .cell(1,0)
Citytextbox=driver.find_element_by_xpath('//input[@id="city"]');
Citytextbox.send_keys(city.value);
Yearlink=driver.find_element_by_xpath('//span[contains(text(),"2000")]');
Yearlink.click();
time.sleep(10)
Обновление: добавление некоторой части html, если есть какие-либо другие методы, также сообщите мне
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1910
</span>
</li><li _ngcontent-c26="" class="option">
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1911
</span>
</li><li _ngcontent-c26="" class="option">
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1912
</span>
</li><li _ngcontent-c26="" class="option">
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1913
</span>
</li><li _ngcontent-c26="" class="option">
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1914
</span>
</li><li _ngcontent-c26="" class="option">
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1915
</span>
</li><li _ngcontent-c26="" class="option">
<span _ngcontent-c26="" class="toggle link" ng-reflect-klass="toggle link" ng-reflect-ng-class="">
1916
</span>
UPDATE
Когда я пытаюсь описать метод ниже, я получаю эту ошибку. Я передаю значение 1979 из Excel, я передаю '1979 из Excel, если я не добавляю', он принимает его как числовое значение.
InvalidSelectorException: invalid selector: Unable to locate an element with the xpath expression //span[normalize-space(.)='text:'1979''] because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//span[normalize-space(.)='text:'1979'']' is not a valid XPath expression.
Excel изображение