我正在尝试自动从增值税检查网站截图。示例CSV文件有三列:第一个客户名称,第二个国家代码和第三个增值税号码。该代码可以从下拉列表中选择国家,但不能在文本字段中输入增值税号码(元素不可交互)WebDriverWait没有帮助。
import csv
import datetime
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
with open('data.csv', 'r') as file:
reader = csv.reader(file)
data = list(reader)
client_name = data[1][0]
country = data[1][1]
vat_number = data[1][2]
driver = webdriver.Chrome()
driver.get('https://ec.europa.eu/taxation_customs/vies/#/vat-validation')
dropdown = Select(driver.find_element(By.XPATH,'//select[@id="select-country"]'))
dropdown.select_by_value(country)
driver.implicitly_wait(5)
vat_field = driver.find_element(By.XPATH,'//*[@id="vat-validation-form"]').send_keys(vat_number)
submit_button = driver.find_element_by_id('submit')
submit_button.click()
now = datetime.datetime.now()
date_string = now.strftime('%Y-%m-%d_%H-%M-%S')
filename = f'{date_string}_{client_name}.png'
driver.save_screenshot(filename)
driver.quit()
如有任何建议,欢迎提出
1条答案
按热度按时间zte4gxcn1#
提供的XPath没有标识INPUT元素,而是标识了FORM元素,这就是为什么它抛出
ElementNotInteractableException
。尝试使用下面的XPath来标识INPUT元素。
理想情况下应该是