我一直在创建一个使用Selify的网络摩天大楼,它将选择几个项目,装满一辆购物车,然后在邮政编码、城市和州的列表中循环,以计算各种地点的总成本+运费+税费。
刮板已经成功设置并正常工作,但我遇到的问题是,我正在搜索的元素的文本给出了基本价格,然后更新为包括税收和运输。我曾尝试使用隐式的等待或time.Sept()来减慢进程的速度,以便有时间进行更新,但它仍然只能获得原始价格。在不放入整个脚本的情况下,这就是我遇到的情况:
for item in c_s_z_list:
cty = driver.find_element(By.CSS_SELECTOR, 'input[id="city"]')
cty.clear()
time.sleep(1)
cty.send_keys(item[0])
dropdown1 = Select(driver.find_element(By.CSS_SELECTOR,'select[id="state"]'))
dropdown1.select_by_visible_text(item[1])
zcode = driver.find_element(By.CSS_SELECTOR,'input[id="zip"]')
zcode.clear()
time.sleep(1)
zcode.send_keys(item[2])
time.sleep(20)
fpt = driver.find_element(By.CSS_SELECTOR,'span[class="order-wizard-cart-summary-grid-right"]')
fp = fpt.text
print(fp)
在输入城市、州和邮政编码信息之前,html如下所示:
添加信息后,它会更新为:
即使在为页面加载提供了足够的休眠之后,element.text也总是返回初始值,而不是更新后的值。
我尝试过等待,睡觉,甚至是提神醒脑,看看这些是否有什么不同,但到目前为止还没有什么影响
这是主登录页面
https://www.performbetter.com/First-Place-Gravity-Kettlebell
这是购物车的特定页面
Https://checkout.performbetter.com/sca-dev-vinson/checkout.ssp?is=checkout&fragment=opc&_ga=2.53878443.2036683866.1667331254-1479525696.1666912626#opc
1条答案
按热度按时间6za6bjd01#
您的定位器值有两个匹配项,因此它返回小计,将定位器值更改为: