HTML:
<textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response"
style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding:
0px; resize: none; display: none;"></textarea>
我想删除"display: none"
的属性,在python版本的Selenium中我该如何做?
4 个回答
0 人赞同
只要把它设置为块状,就可以使其可见。
driver.execute_script("arguments[0].style.display = 'block';",elem)
Removing would be below where elem is your webelement.
driver.execute_script("arguments[0].removeAttribute('style')",elem)
0 人赞同
你可以通过将display
属性替换成几乎任何东西,使输入reCaptcha密钥的显示框可见。
你可以这样做。
driver = webdriver.Chrome()
element = driver.find_element_by_id('g-recaptcha-response')
driver.execute_script("arguments[0].setAttribute('style', 'display: true')", element)
0 人赞同
你可以按照以下两种方法进行
String visibility = web.findElement(By.xpath("//your xpath")).getCssValue("display");
你会得到显示值,然后你可以删除它。
另一种方法是用下面的代码来做。
firefox = webdriver.Firefox()
element = firefox.find_element_by_css_selector("this element css selector here")
attributeValue = element.get_attribute("style")
风格元素,你将得到并从中删除显示。
0 人赞同
To remove the style
属性,包含display: none;
you need to use removeAttribute()
inducing 呼叫中心为presence_of_element_located()
,你可以使用以下任何一种方法定位策略:
Using CSS_SELECTOR
:
driver.execute_script("arguments[0].removeAttribute('style')", WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, "textarea.g-recaptcha-response#g-recaptcha-response[name='g-recaptcha-response']"))))
Using XPATH
:
driver.execute_script("arguments[0].removeAttribute('style')", WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//textarea[@class='g-recaptcha-response' and @id='g-recaptcha-response'][@name='g-recaptcha-response']"))))