我正在尝试自动浏览医生名单的几页。我苦苦挣扎的部分是如何获取硒,然后单击右箭头,该箭头指向10位医生的下一页。我已经复制了网页元素/源代码,因此您可以了解我的想法。
[页面源代码] [1]
当我“检查” chrome中的右箭头元素时,它会高亮显示我在其旁边放置红点的源代码行。请注意,代码中蓝点处有第二个版本的按钮。我最初的尝试是选择两个链接,但是下面的xpath应该可以解决此问题。
由于这被标记为重复,因此我已对其进行更新以尝试提供的链接。 请参阅下面的代码,最近的3次尝试在底部注释掉。一个使用xpath,另外两个使用css。他们都没有工作。
这是我的代码,所以您可以看到我要去的地方。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from sqlalchemy import create_engine
import time
import sys
import mysql.connector
browser = webdriver.Chrome('C:/chromedriver.exe')
browser.get('https://connect.werally.com/county-plan-selection/uhc.mnr/zip')
elem_ZipInput = browser.find_element_by_xpath('//*[@id="location"]')
elem_ZipInput.click()
elem_ZipInput.send_keys('80210')
elem_ZipInput.send_keys(Keys.ENTER)
time.sleep(2)
browser.find_element_by_xpath("//button[@track='No Preference']").click()
time.sleep(3)
browser.find_element_by_xpath("//button[@data-test-id='People']").click()
time.sleep(2)
browser.find_element_by_xpath("//button[@data-test-id='Primary Care']").click()
time.sleep(2)
browser.find_element_by_xpath("//button[@data-test-id='All Primary Care Physicians']").click()
time.sleep(2)
# Extracts the number of providers that were found
Provider_Count = browser.find_element_by_xpath("//span[@id='resultsTotal']/span[1]").text
elem_PCPList_NextPage = browser.find_element_by_xpath("//i[@class='icon icon_arrow_right']")
iter_Provider = "1"
# Click on first provider in the list
Provider_Name = browser.find_element_by_xpath("//div[@id='skip-to-main-content']/div/div[1]/div[" + iter_Provider + "]//a").text
browser.find_element_by_xpath("//div[@id='skip-to-main-content']/div/div[1]/div[" + iter_Provider + "]//a").click()
time.sleep(2)
ProviderPageTab_Overview = browser.find_element_by_xpath("//*[@id='provider.bioTab']")
ProviderPageTab_Overview.click()
time.sleep(2)
# Click on right arrow to go to next provider
# ATTEMPT #1
# WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//compare-providers[@class='navigationHeader visible-phone']/div/div/button[@track='next-page']/icon/i"))).click()
# ATTEMPT #2
# WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div[id='mainContent'] div div header compare-providers[class='navigationHeader visible-phone'] div div button[track='next-page']"))).click()
# ATTEMPT #3
# WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div[id='mainContent'] div div header div[class='navigationHeader hidden-phone'] div div button[track='next-page']"))).click()