在python中使用selenium模拟Click事件

时间:2018-02-11 13:50:58

标签: python selenium webdriver click simulate

我正在抓取此链接中的一些数据  https://www.vbgov.com/property-search#DetailView=14760123360000。但我无法使用webdriver Selenium和python模拟“Sales History& Tax Information”选项卡上的点击事件。

driver.get("https://www.vbgov.com/property-search#")

searchBox1 = driver.find_element_by_id("consolidated-search-query")

searchBox1.send_keys("1124 LUKE DR")

searchBox1.send_keys(Keys.ENTER)

driver.implicitly_wait(5)

link = driver.find_element_by_xpath('//*[@id="property"]/tbody/tr/td[2]/a')

link.click()

elem = driver.find_element_by_xpath('//*[@id="property-counts"]/h4')

tab = driver.find_element_by_partial_link_text("Sales History & Tax Information")
tab.click()

2 个答案:

答案 0 :(得分:1)

模拟销售历史记录中的点击事件&税务信息标签,您可以使用以下代码行:

driver.find_element_by_xpath("//ul[@class='navbar nav-pills nav hasOverflow']//li[@role='tab']/a").click()

答案 1 :(得分:1)

您正试图点击'销售历史& “税务信息”选项卡及其发生也是如此,但是在页面加载时发生这种情况,在页面加载后,默认情况下会导航到“土地/建筑信息”选项卡。所以我在这里等待页面加载,然后点击“销售历史记录” “税务信息”选项卡'等待'属性蓝色打印'加载。

在点击“销售历史记录”之前使用time.sleep; “税务信息”选项卡“也适用于此处,但不是更可取。”

searchBox1 = driver.find_element_by_id("consolidated-search-query")
searchBox1.send_keys("1124 LUKE DR")
searchBox1.send_keys(Keys.ENTER)
driver.implicitly_wait(5)
link = driver.find_element_by_xpath('//*[@id="property"]/tbody/tr/td[2]/a')
link.click()
elem = driver.find_element_by_xpath('//*[@id="property-counts"]/h4')
wait.until(EC.presence_of_element_located((By.XPATH, "//*[text()='Land Information']")))
wait.until(EC.visibility_of_element_located((By.XPATH, "//div[@class='band visible ready']")))
wait.until(EC.visibility_of_element_located((By.XPATH, "//a[text()='Sales History & Tax Information']"))).click()

希望这能解决您的问题。