繁体   English   中英

Python selenium webdriver:试图调用javascript函数

[英]Python selenium webdriver : trying to call a javascript function

我正在尝试在电子商务网站上获取结帐链接,我试图点击链接javascript函数的范围:

<a id="checkout-btn" class="btn btn-lg btn-success pull-right" href="javascript:shop.orders.save()" rel="nofollow"><span>Paga ora</span></a>

有了这个:

driver.find_element_by_xpath(".//*[@id='checkout']").click()

但它没有用,所以我尝试使用此命令直接执行该功能

driver.execute_script("shop.orders.save()")

但我从python idle得到这个错误:

selenium.common.exceptions.WebDriverException:消息:未知错误:未定义商店

如果我在Chrome控制台中执行shop.orders.save()它工作,它将我链接到结帐页面,所以我不知道

有人可以帮帮我吗?

尝试:

driver.find_element_by_xpath("//a[@id='checkout-btn']").click()

如果这回答你的问题,请告诉我。

你需要逃脱点运算符。

driver.execute_script("javascript:shop\\.orders\\.save()")

因为它有一个id元素,你能试试吗?

 checkout = driver.find_element_by_id('checkout-btn')
 checkout.click()

如果你想沿着xpath路走下去,我建议用css

checkout = driver.find_element_by_css_selector('a[id="checkout-btn"]')
checkout.click()

暂无
暂无

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

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