简体   繁体   English

以下代码在做什么? 我将硒用于Python,由于某种原因,我收到以下错误

[英]What am I doing wrong with the following code? I am using selenium for Python and for some reason, I get the error below

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.ui import Select

browser = webdriver.Safari()
browser.get('https://www.supremenewyork.com/shop/jackets/h90p8mrfk')
sleep(2)
addToCart = browser.find_element_by_name('commit')
addToCart.click()
sleep(2)
browser.find_element_by_xpath('//a[@class="button checkout"]').click()
sleep(2)
browser.find_element_by_id('order_billing_name').send_keys('Name')
browser.find_element_by_id('order_email').send_keys('email')
browser.find_element_by_id('order_tel').send_keys('phone number')
browser.find_element_by_id('bo').send_keys('address')
browser.find_element_by_id('order_billing_zip').send_keys('zip')
Select(browser.find_element_by_id('state_label')).select_by_visible_text('state')

Everything in this code seems to work fine, until it is time to fill in the shipping/billing info. 该代码中的所有内容似乎都可以正常运行,直到需要填写运输/计费信息为止。 I get this strange error that I can't find any answers on the internet as to what it means: 我收到一个奇怪的错误,我无法在互联网上找到有关其含义的任何答案:

selenium.common.exceptions.WebDriverException: Message: An unknown error occurred: A JavaScript exception occured: Argument 1 ('element') to Window.getComputedStyle must be an instance of Element selenium.common.exceptions.WebDriverException:消息:发生未知错误:发生JavaScript异常:Window.getComputedStyle的参数1(“ element”)必须是Element的实例

The steps of the automated process I am trying to accomplish are: 我要完成的自动化过程的步骤是:

1) Go to the actual webpage (Check) 1)转到实际网页(检查)

2) Add the product to cart (Check) 2)将产品添加到购物车(检查)

3) Click the checkout button (Check) 3)点击结帐按钮(检查)

4) Put in the billing/shipping info 4)输入帐单/送货信息

it better to use WebDriverWait() than sleep() . 最好使用WebDriverWait()不是sleep() selecting by ID not work use XPATH ID选择不起作用,请使用XPATH

# -*- coding: utf-8 -*-

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()

browser.get('https://www.supremenewyork.com/shop/jackets/qfc4mhl9g')

addToCart = browser.find_element_by_name('commit')
addToCart.click()

# wait max 10 second
checkOut = WebDriverWait(browser, 10).until(
    EC.element_to_be_clickable((By.XPATH, '//a[@class="button checkout"]' ))
)

checkOut.click()

WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, 'order_billing_name'))
)

browser.find_element_by_xpath('//input[@id="order_billing_name"]').send_keys('Name')
browser.find_element_by_xpath('//input[@id="order_email"]').send_keys('email')
browser.find_element_by_xpath('//input[@id="order_tel"]').send_keys('phone number')
browser.find_element_by_xpath('//input[@id="order_billing_zip"]').send_keys('zip')
browser.find_element_by_xpath('//input[@id="order_billing_address"]').send_keys('address')

state = Select(browser.find_element_by_xpath('//*[@id="order_billing_state"]'))
state.select_by_visible_text('茨城県')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM