【发布时间】:2017-05-23 19:08:18
【问题描述】:
每次运行此代码时,我都会遇到到达目标页面的问题。该站点需要填写发布请求参数才能到达我所在的页面。但是,使用 get request 直到它在我的代码中达到“Var4”参数是很好的。检查元素我可以看到它指示为隐藏。如果我将隐藏参数留空,那么它会重定向到另一个位置。因此,满足这件事以到达目标页面超出了我的能力。任何建议将不胜感激。
from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\ar\Desktop\Chromedriver\chromedriver.exe")
driver.get('https://www.infocomm.org/cps/rde/xchg/infocomm/hs.xsl/memberdirectory.htm')
Var1='Professional Services Providers'
Var2='AUSTRALIA'
Var3='0'
Var4='1'
driver.find_element_by_xpath('//select[@name="mas_type"]').send_keys(Var1)
driver.find_element_by_xpath('//select[@name="mas_cntr"]').send_keys(Var2)
driver.find_element_by_xpath('//input[@name="OtherCriteria"]').send_keys(Var3)
driver.find_element_by_xpath('//input[@name="DoMemberSearch"]').send_keys(Var4)
driver.find_element_by_xpath('//input[@type="submit"]').click()
应该适用于“Var4”的隐藏内容的元素:
<form name="searchform" id="searchform" action="memberdirectory.htm" method="post" onsubmit="return Checkform();">
<input type="hidden" id="DoMemberSearch" name="DoMemberSearch" value="1">
<div class="login block-type-a block">
【问题讨论】:
-
你能显示这个
input周围的html吗?由于真正隐藏的字段不会显示在页面上,我猜该元素隐藏在您要发送密钥的实际元素中。 -
感谢 mrfreester,您的回答。我刚刚更新了表格的部分内容。希望它能达到目的。
标签: python-3.x selenium selenium-webdriver web-scraping