В прошлом году я написал код на Pycharm, чтобы перебирать номера НДС, введенные на правительственном веб-сайте, и убедиться, что они все еще действительны. Он по-прежнему отлично работает на исходном ноутбуке, но не на другом моем ноутбуке, даже несмотря на то, что код точно такой же (единственная корректировка заключалась в расположении электронной таблицы). Я дал свой код ниже. Когда я пытаюсь запустить его на другом ноутбуке, появляется следующая ошибка.
Traceback (последний вызов — последний):
Файл "C:\Users\neils" \Documents\Pycharm Projects\VATChecker\VATChecker.py", строка 30, в
VAT = web.find_element_by_xpath('//*[@id="target"]')
^^^^^ ^^^^^^^^^^^^^^^^^^^^
AttributeError: объект 'WebDriver' не имеет атрибута 'find_element_by_xpath'
Процесс завершен с код выхода 1
Я также заметил одну вещь: система импорта и дата и время импорта выделены серым цветом. Я думаю, это потому, что он вышел из строя до того, как был использован этот импорт?
Я должен отметить, что версия Chrome одинакова для обоих ноутбуков (версия 123), и у меня установлен один и тот же chromedriver для оба. На обоих ноутбуках установлена 64-разрядная версия Windows, если вы думаете, что в этом может быть проблема.
Можете ли вы подсказать мне, в чем проблема? Заранее большое спасибо.
import datetime
import sys
from selenium import webdriver
from openpyxl import workbook, load_workbook
from datetime import date
web = webdriver.Chrome()
wb = load_workbook('C:\\Users\\neils\\Documents\\NSO\\Self Billing agreements\\VATMusiciansCheckerUK.xlsx', data_only=True, read_only=False)
ws = wb.active
x=2
y=1
current_datetime = datetime.datetime.now()
current_datetime.strftime('%x %X')
invalid = ""
while ws.cell(x,1).value !=None:
ws.cell(x,9).value = ""
web.get("https://www.tax.service.gov.uk/check-va ... at-details")
web.implicitly_wait(10)
VatNumber = ws.cell(x,4).value
VAT = web.find_element_by_xpath('//*[@id="target"]')
VAT.send_keys(VatNumber)
VAT.submit()
web.implicitly_wait(4)
registered = web.find_element_by_xpath('/html/body/div[2]')
if (registered.text.find("Invalid")) > 0:
ws.cell(x,9).value = "Invalid VAT number"
invalid = invalid + str(y) + " " + ws.cell(x,1).value + " " + ws.cell(x,2).value + ", "
y=y+1
else:
ws.cell(x,9).value = "Valid VAT number"
ws.cell(x,6).value = current_datetime
x=x+1
if invalid == "":
print("All VAT records are correct")
else:
print("Invalid VAT records are " + invalid)
wb.save('C:\\Users\\neils\\Documents\\NSO\\Self Billing agreements\\VATMusiciansCheckerUK.xlsx')
Подробнее здесь: https://stackoverflow.com/questions/782 ... -other-one