每次运行此代码时,都会遇到问题,无法访问目标网页。该网站需要填写帖子请求参数才能到达我所在的页面。然而,使用get请求它是好的,直到它击中" 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">
答案 0 :(得分:2)
作为解决方法,您可以尝试使用selenium执行javascript。
例如,取消隐藏元素
driver.execute_script("document.getElementById('DoMemberSearch').value = '%s';" % Var4)
或直接设定值
mocha
答案 1 :(得分:0)
你无法将密钥发送到隐藏元素,你可以做的是使用javascript发送值
可能是这样的
driver.execute_script("document.getElementById('DoMemberSearch').value='1')