im试图用python编写一个将在steamgroup中发布的Steambot;我对最后一步有疑问, 我找不到求和按钮
<button type="submit" class="btn_green_white_innerfade btn_medium" id="commentthread_General_34191408_submit">
<span>Post Discussion</span>
</button>
答案 0 :(得分:2)
要将带有文字的 submit 按钮标识为讨论后,您可以使用以下任一Locator Strategies:
使用CSS_SELECTOR
:
element = driver.find_element_by_css_selector("button.btn_green_white_innerfade.btn_medium[id^='commentthread_General_'][id$='_submit']>span")
使用XPATH
:
element = driver.find_element_by_xpath("//button[@class='btn_green_white_innerfade btn_medium' and starts-with(@id, 'commentthread_General_')]/span[text()='Post Discussion']")
但是,由于它是一个 submit 按钮,因此继续前进,您将在其上调用click()
,因此您必须为{{1}诱导 WebDriverWait }},您可以使用以下任一解决方案:
使用element_to_be_clickable()
:
CSS_SELECTOR
使用WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.btn_green_white_innerfade.btn_medium[id^='commentthread_General_'][id$='_submit']>span"))).click()
:
XPATH
注意:您必须添加以下导入:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn_green_white_innerfade btn_medium' and starts-with(@id, 'commentthread_General_')]/span[text()='Post Discussion']"))).click()
答案 1 :(得分:1)
这是您的按钮,效果100%。我在本地检查过。
driver.find_element(By.XPATH, "//button[@type='submit']")