我正在抓取网站正义标,我需要单击每个个人资料的每个按钮(立即查询)。我也尝试了下面的代码,但它显示了ElementClickInterceptedException。
browser.driver.find_element_by_class_name("green-btn").first.click()
我在图片上附加了参考和源代码。
下面是检查元素代码-
<li class="book-btn">
<!-- <span class="dtsbtntxt">Book a Table</span> -->
<!-- <span class="inner_spr in_po"></span> -->
<!-- <a title="Book Doctor Appointment" class="bookap green-btn result_loader_3 big_dn" href="javascript:void(0);" onClick="showloader('result', 'result_loader_3', this); _ct('DBookAppointment', 'lspg', '2'); openDiv('best_deal_div', 'bestdeal', '', '9999PX744.X744.130617175155.L7U9', 5);"><i id="result_loader_3"></i>Enquire Now</a> -->
<a class="green-btn result_loader_3 wdb" onclick="_ct('gtlp', 'lspg'); showloader('result', 'result_loader_3', this); trackEvent('Get The Lowest Price', 'onclicklowestprice', 'Get The Lowest Price'); return openDiv('best_deal_div', 'bestdeal', '', '9999PX744.X744.130617175155.L7U9', 5);" href="javascript:void(0);"><i id="result_loader_3"></i>Enquire Now</a>
<span flg="2" docid="9999PX744_X744_130617175155_L7U9" countvalue="0">
请帮助,如何使用Selenium Web驱动程序单击每个按钮,我正在使用chrome Web驱动程序。
答案 0 :(得分:1)
要单击Enquire Now
按钮,请诱导WebDriverWait
和element_to_be_clickable
()以及使用以下定位符。
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//a[contains(@class,'green-btn')][contains(.,'Enquire Now')]"))).click()
您需要导入以下内容以执行以上代码。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC