【发布时间】:2021-08-05 16:27:28
【问题描述】:
所以我正在尝试自动收藏 Google 地图上的大量公司(大约 500 家左右),它开始工作,直到公司没有网站,然后保存按钮的位置移动,@987654323 @ in selenium 单击“发送到您的手机”,这会破坏脚本。我已尝试查找“保存”按钮的元素 ID,但在任何地方都找不到。关于如何解决这个问题的任何想法? Here 是破坏脚本的第二个设置的链接,here 是大多数人的设置。
search_box = driver.find_element_by_xpath('//*[@id="searchboxinput"]')
search_button = driver.find_element_by_xpath('//*[@id="searchbox-searchbutton"]')
# now I will fill and clear it after each search
for i in range(0, df.shape[0]):
val = df.loc[i, "Acceptable"]
search_box.clear()
#try:
#search_box.clear()
search_box.send_keys(f"{val}")
search_button.click()
time.sleep(9)
save_button = driver.find_element_by_xpath('//*[@id="pane"]/div/div[1]/div/div/div[4]/div[2]/div/button')
#save_button = driver.find_element_by_name("Save")
save_button.click()
time.sleep(1)
#except:
# save_button = driver.find_element_by_xpath('//*[@id="pane"]/div/div[1]/div/div/div[4]/div[1]/div/button')
# save_button.click()
# time.sleep(1)
fav_button = driver.find_element_by_xpath('//*[@id="action-menu"]/ul/li[2]').click()
time.sleep(1)
print(f"Saved {val}")
这是相关的代码块,我最初尝试使用它,但它只是在按下意外数量的按钮后循环通过损坏的值。我的想法是找到保存按钮元素 id 并使用它,但在查看 Inspect Element 时我真的找不到它。
我也尝试过使用find_element_by_link_text 和find_element_by_partial_link_text 对他们使用Save,但都没有成功。
【问题讨论】:
-
谷歌地图使用了大量的 iframe。确保使用
driver.switch_to.frame和driver.switch_to.default_content正确导航它们 -
@SimonNasser 如果它在该场景中为以前的公司工作,那会是一个问题吗?
标签: python selenium google-maps selenium-webdriver xpath