我需要从此page中删除一些信息。
但是,页面在进入之前需要年龄确认。它有一个按钮,必须先单击该按钮才能看到页面。我的问题是我单击此按钮的方法根本不起作用。
我使用selenium和Python 2.7.10。
这是我的代码:
def download_specific_page(url):
try:
browser = get_browser()
wait = WebDriverWait(browser, 30)
browser.get(main_page_url)
time.sleep(2)
buttons = browser.find_elements_by_class('close')
for button in buttons:
onclick_text = button.get_attribute('onclick')
if onclick_text and re.search('ConfirmAge();', onclick_text):
print "found it!"
button.click()
browser.get(url)
html = browser.page_source
browser.close()
return html
except Exception:
info = 'Generic exception\n'
return ""
我也试过xpath,但仍然没有成功:
def download_specific_page(url):
try:
browser = get_browser()
wait = WebDriverWait(browser, 30)
browser.get(main_page_url)
button = browser.find_element_by_xpath("/html/body/div#bg_image/div.container/div#content/div#confirmage/div.confirmage_navigation/button.close[1]")
button.click()
time.sleep(2)
browser.get(url)
html = browser.page_source
browser.close()
return html
except Exception:
info = 'Generic exception\n'
return ""
任何想法如何点击此按钮以便我可以废弃页面?
答案 0 :(得分:2)
使用常规点击:
from selenium import webdriver
URL = 'https://www.24dolores.pl/pl/ogloszenia-towarzyskie'
CSS_SELECTOR = '.close'
browser = webdriver.Chrome()
browser.implicitly_wait(10)
browser.get(URL)
close = browser.find_element_by_css_selector(CSS_SELECTOR)
close.click()